Adding.cshtml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. @*
  2. For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
  3. *@
  4. @using SuperAdmin.Controllers;
  5. @using SuperAdmin.Models.View;
  6. @using SuperAdmin.Models.Object;
  7. @using System.Globalization;
  8. @model EventViewModel
  9. @{
  10. // set today date for all
  11. DateTime oDateFrom = DateTime.ParseExact(DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss"), "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
  12. String date = oDateFrom.ToString("yyyy-MM-dd'T'HH:mm:ss.fff", CultureInfo.InvariantCulture);
  13. String ranStr = UtilsController.RandomString(10, true);
  14. }
  15. <script>
  16. $('#myInform').modal('hide');
  17. </script>
  18. <div class="modal-content">
  19. <div class="modal-header">
  20. <h4 class="modal-title" id="modalLabelService">Details</h4>
  21. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  22. <span aria-hidden="true">×</span>
  23. </button>
  24. </div>
  25. <div class="modal-body">
  26. <div class="row">
  27. <div class="col-md-4">
  28. <div class="form-group">
  29. <label for="fromDate">Parent name</label>
  30. <div class="const-box">
  31. <p>
  32. @(Model.parent != null ? Model.parent.name_global : "Category")
  33. </p>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="col-md-4">
  38. <div class="form-group">
  39. <label for="serviceCode">Is Show</label>
  40. <select id="isShow" name="isShow" class="form-control">
  41. @{
  42. List<String> listIsShow = UtilsController.GetListIsShow();
  43. for (int i = 0; i < listIsShow.Count; i++)
  44. {
  45. <option value="@(i)">@listIsShow[i]</option>
  46. }
  47. }
  48. </select>
  49. </div>
  50. </div>
  51. <div class="col-md-4">
  52. <div class="form-group">
  53. <label for="team1">Code</label>
  54. <input class="form-control" type="text" id="code" name="code" autocomplete="on" value="">
  55. </div>
  56. </div>
  57. <div class="col-md-6">
  58. <div class="form-group">
  59. <label for="team1">Name global</label>
  60. <input class="form-control" type="text" id="nameGlobal" name="nameGlobal" autocomplete="on" value="">
  61. </div>
  62. </div>
  63. <div class="col-md-6">
  64. <div class="form-group">
  65. <label for="team1">Name local</label>
  66. <input class="form-control" type="text" id="nameLocal" name="nameLocal" autocomplete="on" value="">
  67. </div>
  68. </div>
  69. <div class="col-md-6">
  70. <div class="form-group">
  71. <label for="fromDate">Description global</label>
  72. <textarea class="form-control" id="descriptionGlobal" name="descriptionGlobal" autocomplete="off" rows="3" spellcheck="false"></textarea>
  73. </div>
  74. </div>
  75. <div class="col-md-6">
  76. <div class="form-group">
  77. <label for="fromDate">Description local</label>
  78. <textarea class="form-control" id="descriptionLocal" name="descriptionLocal" autocomplete="off" rows="3" spellcheck="false"></textarea>
  79. </div>
  80. </div>
  81. <div class="col-md-6">
  82. <div class="form-group">
  83. <label for="fromDate">Introduction global</label>
  84. <textarea class="form-control" id="introductionGlobal" name="introductionGlobal" autocomplete="off" rows="3" spellcheck="false"></textarea>
  85. </div>
  86. </div>
  87. <div class="col-md-6">
  88. <div class="form-group">
  89. <label for="fromDate">Introduction local</label>
  90. <textarea class="form-control" id="introductionLocal" name="introductionLocal" autocomplete="off" rows="3" spellcheck="false"></textarea>
  91. </div>
  92. </div>
  93. <div class="col-md-6">
  94. <div class="form-group">
  95. <label for="fromDate">Icon</label>
  96. @using (Html.BeginForm("UploadAction", "Admin", FormMethod.Post, new { id = "logoForm1", enctype = "multipart/form-data" }))
  97. {
  98. @Html.AntiForgeryToken()
  99. <input class="form-control" type="file" id="imageIcon" name="file">
  100. <input type="submit" id="submitIcon" value="Upload Image" style="margin: 10px 0px 10px 0px; display: none;" />
  101. }
  102. <img id="previewIcon" class="w-100 img-icon" src="0">
  103. </div>
  104. </div>
  105. <div class="col-md-6">
  106. <div class="form-group">
  107. <label for="fromDate">Logo</label>
  108. @using (Html.BeginForm("UploadAction", "Admin", FormMethod.Post, new { id = "logoForm2", enctype = "multipart/form-data" }))
  109. {
  110. @Html.AntiForgeryToken()
  111. <input class="form-control" type="file" id="imageLogo" name="file">
  112. <input type="submit" id="submitLogo" value="Upload Image" style="margin: 10px 0px 10px 0px; display: none;" />
  113. }
  114. <img id="previewLogo" class="w-100 img-icon" src="0">
  115. </div>
  116. </div>
  117. <div class="col-md-4">
  118. <div class="form-group">
  119. <label for="serviceCode">Content type</label>
  120. <select id="contentType" name="contentType" class="form-control">
  121. @{
  122. List<String> listContentType = UtilsController.GetListContentType();
  123. for (int i = 0; i < listContentType.Count; i++)
  124. {
  125. <option value="@(i + 1)">@listContentType[i]</option>
  126. }
  127. }
  128. </select>
  129. </div>
  130. </div>
  131. <div class="col-md-4">
  132. <div class="form-group">
  133. <label for="fromDate">From date</label>
  134. <input class="model-box-input" type="datetime-local" id="fromDate" name="from-date" value="@date">
  135. </div>
  136. </div>
  137. <div class="col-md-4">
  138. <div class="form-group">
  139. <label for="toDate">To date</label>
  140. <input class="model-box-input" type="datetime-local" id="toDate" name="to-date" value="@date">
  141. </div>
  142. </div>
  143. <div class="col-md-12">
  144. <div class="form-group content-box">
  145. <label for="toDate">Content</label>
  146. <textarea class="form-control textarea-editor" id="htmlContent" name="htmlContent"
  147. style="display: none;"></textarea>
  148. <textarea class="pastehtml-area" id="paste_html_value" name="paste_html_value" cols="100" rows="6" style="visibility: hidden; display: none;"></textarea><span id="cke_paste_html_value" class="cke_skin_kama cke_1 cke_editor_paste_html_value" dir="ltr" title="" lang="en" tabindex="0" role="application" aria-labelledby="cke_paste_html_value_arialbl">
  149. <span id="cke_paste_html_value_arialbl" class="cke_voice_label">
  150. Rich Text Editor
  151. </span>
  152. <span class="cke_browser_webkit" role="presentation">
  153. <span class="cke_wrapper cke_ltr" role="presentation" style="padding:0px;">
  154. <script type='text/javascript' src="@ViewBag.MyConfig.MyValue/js/vendors/ckeditor/ckeditor.js"></script>
  155. <textarea name="content" id="editor-@ranStr"></textarea>
  156. <script>
  157. CKEDITOR.replace('editor-@ranStr');
  158. </script>
  159. <style>
  160. .cke_skin_kama {
  161. visibility: hidden;
  162. }
  163. </style>
  164. </span>
  165. </span>
  166. </span>
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. <div class="modal-footer">
  172. <button type="button" class="btn grey btn-outline-secondary" data-dismiss="modal">Close</button>
  173. <button type="button" id="btnUpdateInfo" class="btn btn-outline-primary" onclick="saveAdding()">Create</button>
  174. </div>
  175. </div>
  176. <script>
  177. function saveAdding() {
  178. var nameGlobal = $("#nameGlobal").val();
  179. var nameLocal = $("#nameLocal").val();
  180. var topicID = $("#topicID").val();
  181. var provinceID = $("#provinceID").val();
  182. var descriptionGlobal = $("#descriptionGlobal").val();
  183. var descriptionLocal = $("#descriptionLocal").val();
  184. var introductionGlobal = $("#introductionGlobal").val();
  185. var introductionLocal = $("#introductionLocal").val();
  186. var fromDate = $("#fromDate").val();
  187. var toDate = $("#toDate").val();
  188. var contentType = $("#contentType").val();
  189. var isShow = $("#isShow").val();
  190. var code = $("#code").val();
  191. var content = "";
  192. for (instance in CKEDITOR.instances) {
  193. if (instance == 'editor-@ranStr')
  194. content = CKEDITOR.instances[instance].getData();
  195. }
  196. var check = 1;
  197. if (nameGlobal == null || nameGlobal == "") {
  198. $("#nameGlobal").addClass("note-input");
  199. check *= 0;
  200. } else {
  201. $("#nameGlobal").removeClass("note-input");
  202. }
  203. if (nameLocal == null || nameLocal == "") {
  204. $("#nameLocal").addClass("note-input");
  205. check *= 0;
  206. } else {
  207. $("#nameLocal").removeClass("note-input");
  208. }
  209. if (descriptionGlobal == null || descriptionGlobal == "") {
  210. $("#descriptionGlobal").addClass("note-input");
  211. check *= 0;
  212. } else {
  213. $("#descriptionGlobal").removeClass("note-input");
  214. }
  215. if (descriptionLocal == null || descriptionLocal == "") {
  216. $("#descriptionLocal").addClass("note-input");
  217. check *= 0;
  218. } else {
  219. $("#descriptionLocal").removeClass("note-input");
  220. }
  221. if (introductionGlobal == null || introductionGlobal == "") {
  222. $("#introductionGlobal").addClass("note-input");
  223. check *= 0;
  224. } else {
  225. $("#introductionGlobal").removeClass("note-input");
  226. }
  227. if (introductionLocal == null || introductionLocal == "") {
  228. $("#introductionLocal").addClass("note-input");
  229. check *= 0;
  230. } else {
  231. $("#introductionLocal").removeClass("note-input");
  232. }
  233. if (content == null || content == "") {
  234. $(".content-box").addClass("note-input");
  235. check *= 0;
  236. } else {
  237. $(".content-box").removeClass("note-input");
  238. }
  239. if (check == 1) {
  240. var formData = new FormData();
  241. formData.append('__RequestVerificationToken', $('input[name=__RequestVerificationToken]').val());
  242. formData.append('icon', $('#imageIcon')[0].files[0]);
  243. formData.append('logo', $('#imageLogo')[0].files[0]);
  244. formData.append('name_global', nameGlobal);
  245. formData.append('name_local', nameLocal);
  246. formData.append('parent_id', @(Model.parent != null ? Model.parent.id : "-1"));
  247. //formData.append('topic_id', topicID);
  248. //formData.append('province_id', provinceID);
  249. formData.append('description_global', descriptionGlobal);
  250. formData.append('description_local', descriptionLocal);
  251. formData.append('introduction_global', introductionGlobal);
  252. formData.append('introduction_local', introductionLocal);
  253. formData.append('from_date', fromDate);
  254. formData.append('to_date', toDate);
  255. formData.append('content_type', contentType);
  256. formData.append('code', code);
  257. formData.append('is_show', isShow);
  258. formData.append('content', content);
  259. var serviceName = $("#serviceName").val();
  260. $.ajax({
  261. type: "POST",
  262. url: urlConfig("/" + serviceName + "/AddingAction"),
  263. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  264. data: formData,
  265. processData: false,
  266. contentType: false,
  267. success: function (data) {
  268. console.log(data);
  269. if (data.code == @UtilsController.Constant.SUCCESS) {
  270. $.ajax({
  271. type: "POST",
  272. url: urlConfig("/Partial/TreeResponse"),
  273. data: {
  274. "ids": data.ids,
  275. "message": data.message
  276. },
  277. success: function (data) {
  278. $('#informModel').html(data);
  279. $('#myInform').modal({ "backdrop": "static", keyboard: true });
  280. $('#myInform').modal('show');
  281. },
  282. failure: function (data) {
  283. alert(data);
  284. },
  285. error: function (data) {
  286. alert(data);
  287. }
  288. });
  289. } else {
  290. $.ajax({
  291. type: "POST",
  292. url: urlConfig("/Partial/Response"),
  293. data: {
  294. "message": data.message
  295. },
  296. success: function (data) {
  297. $('#informModel').html(data);
  298. $('#myInform').modal({ "backdrop": "static", keyboard: true });
  299. $('#myInform').modal('show');
  300. },
  301. failure: function (data) {
  302. alert(data);
  303. },
  304. error: function (data) {
  305. alert(data);
  306. }
  307. });
  308. }
  309. },
  310. failure: function (data) {
  311. alert(data);
  312. },
  313. error: function (data) {
  314. alert(data);
  315. }
  316. });
  317. }
  318. }
  319. </script>