// GET: Template/EmailTemplates/Create public ActionResult Create() { CreateNotificationTemplateModel model = new CreateNotificationTemplateModel(); model.CreatedBy = CurrentUser.UserId.Value; model.NotificationTypeList = (Enum.GetValues(typeof(NotificationType)).Cast <int>() .Select(e => new SelectListItem() { Text = ((DisplayAttribute) typeof(NotificationType) .GetMember(Enum.GetName(typeof(NotificationType), e).ToString()) .First() .GetCustomAttributes(typeof(DisplayAttribute), false)[0]).Name, //Enum.GetName(typeof(NotificationType), e), Value = e.ToString() })).ToList(); model.TemplateParameterTypeList = new List <ParameterList>(); foreach (TemplateParameterType param in Enum.GetValues(typeof(TemplateParameterType))) { ParameterList paramList = new ParameterList { TemplateParameterType = param, parameterDisplayName = param.GetDisplayName() }; model.TemplateParameterTypeList.Add(paramList); } /*model.enableEmail = true; * model.enableSMSMessage = true; * model.enableWebMessage = true;*/ return(View(model)); }
// POST: api/EmailTemplate public IHttpActionResult Post(CreateNotificationTemplateModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var timeNow = DateTime.Now; var NotificationTemplate = new NotificationTemplate { NotificationType = model.NotificationType, NotificationCategory = model.NotificationCategory, TemplateName = model.TemplateName, TemplateSubject = model.TemplateSubject, TemplateRefNo = model.TemplateRefNo, TemplateMessage = model.TemplateMessage, CreatedDate = timeNow, LastModified = timeNow, CreatedBy = model.CreatedBy, Display = true, enableEmail = model.enableEmail, enableSMSMessage = model.enableSMSMessage, SMSMessage = model.SMSMessage, enableWebMessage = model.enableWebMessage, WebMessage = model.WebMessage, WebNotifyLink = model.WebNotifyLink }; db.NotificationTemplates.Add(NotificationTemplate); //getAllParam first dan delete dulu var listParam = db.TemplateParameters.Where(p => p.NotificationType == model.NotificationType).ToList(); db.TemplateParameters.RemoveRange(listParam); //lepas tu add yg baru foreach (var item in model.ParameterList) { TemplateParameters param = new TemplateParameters { NotificationType = model.NotificationType, TemplateParameterType = item }; db.TemplateParameters.Add(param); } db.SaveChanges(); return(Ok(NotificationTemplate)); }
public async Task <ActionResult> Create(CreateNotificationTemplateModel model)//([Bind(Include = "Id,TemplateName,TemplateMessage,CreatedDate,CreatedBy,Display")] EmailTemplate emailTemplate) { if (ModelState.IsValid) { CreateNotificationTemplateModel obj = new CreateNotificationTemplateModel { NotificationType = model.NotificationType, TemplateName = model.TemplateName, TemplateSubject = model.TemplateSubject, TemplateRefNo = model.TemplateRefNo, TemplateMessage = Server.HtmlEncode(model.TemplateMessage), enableEmail = model.enableEmail, CreatedBy = CurrentUser.UserId.Value, CreatedDate = DateTime.Now, //LastModified = DateTime.Now, enableSMSMessage = model.enableSMSMessage, SMSMessage = model.SMSMessage, enableWebMessage = model.enableWebMessage, WebMessage = model.WebMessage, WebNotifyLink = model.WebNotifyLink, //Display = true }; List <string> ListA, ParamList;// = new List<string>(); ListA = new List <string>(); ParamList = new List <string>(); if (obj.enableEmail) { ParamList = ParamList.Union(ListA).ToList(); if (obj.TemplateSubject != null) { ParamList = ParamList.Union(ParameterListing(obj.TemplateSubject)).ToList(); } if (obj.TemplateMessage != null) { ParamList = ParamList.Union(ParameterListing(obj.TemplateMessage)).ToList(); } } if (obj.enableSMSMessage) { if (obj.SMSMessage != null) { ParamList = ParamList.Union(ParameterListing(obj.SMSMessage)).ToList(); } } if (obj.enableWebMessage) { if (obj.WebMessage != null) { ParamList = ParamList.Union(ParameterListing(obj.WebMessage)).ToList(); ParamList = ParamList.Union(ParameterListing(obj.WebNotifyLink)).ToList(); } } obj.ParameterList = ParamList; //var response = await WepApiMethod.SendApiAsync<CreateNotificationTemplateModel>(HttpVerbs.Post, $"Template/Email/", obj); //test generate email //1 create ParamListToSend //2 generate body message //3 generate subject message //4 generate schedule to send email //5 call email API ParameterListToSend paramToSend = new ParameterListToSend(); paramToSend.EventName = "Hari Terbuka AKPK"; paramToSend.EventCode = "HTAKPK2019"; paramToSend.EventLocation = "Dewan Terbuka AKPK"; paramToSend.EventApproval = "APPROVED006"; CreateAutoReminder reminder = new CreateAutoReminder { NotificationType = NotificationType.Submit_Public_Event_For_Verification, NotificationCategory = NotificationCategory.Event, ParameterListToSend = paramToSend, StartNotificationDate = DateTime.Now, ReceiverId = new List <int> { 231 } }; var response = await WepApiMethod.SendApiAsync <ReminderResponse> (HttpVerbs.Post, $"Reminder/SLA/GenerateAutoNotificationReminder/", reminder); /*int SLAReminderStatusId = 8; * var response = await WepApiMethod.SendApiAsync<List<BulkNotificationModel>> * (HttpVerbs.Get, $"Reminder/SLA/StopNotification/?SLAReminderStatusId={SLAReminderStatusId}");*/ if (response.isSuccess) { await LogActivity(Modules.Setting, "Create Notification Template"); TempData["SuccessMessage"] = "Notification Template created successfully"; return(RedirectToAction("List")); } else { TempData["ErrorMessage"] = "Failed to create Notification Template"; return(RedirectToAction("List")); } } else { TempData["ErrorMessage"] = "Failed to create Notification Template"; return(RedirectToAction("List")); } }