public ActionResult Index() { BreadCrumb.Add("/", "Home"); BreadCrumb.SetLabel("Dashboard"); ViewBag.TotalUser = new UserAdminDAO().Total().ToInt(); ViewBag.TotalKPI = new KPIAdminDAO().Total().ToInt(); ViewBag.TotalLevel = new LevelDAO().Total().ToInt(); ViewBag.TotalKPILevel = new KPILevelDAO().Total().ToInt(); ViewBag.TotalCategory = new AdminCategoryDAO().Total().ToInt(); var model = new ActionPlanDAO().CheckDeadline(); var userprofile = Session["UserProfile"] as UserProfileVM; foreach (var item in model) { if (!new ActionPlanDAO().IsSentMailActionPlan(userprofile.User.ID, item.ActionplanID)) { string content = "Please note that the action plan we going to deadline on " + item.Deadline; var html = string.Empty; string from = ConfigurationManager.AppSettings["FromEmailAddress"].ToSafetyString(); string password = ConfigurationManager.AppSettings["FromEmailPassword"].ToSafetyString(); string to = item.Email.ToSafetyString(); string clientHost = ConfigurationManager.AppSettings["ClientHost"].ToSafetyString(); string subject = ConfigurationManager.AppSettings["FromEmailDisplayName"].ToSafetyString(); MailMessage mail = new MailMessage(); mail.To.Add(to.ToString()); mail.From = new MailAddress(from, "KPI.App"); mail.Subject = subject; mail.Body = content; mail.IsBodyHtml = false; mail.BodyEncoding = System.Text.Encoding.UTF8; mail.Priority = MailPriority.High; try { using (var smtp = new SmtpClient()) { smtp.UseDefaultCredentials = true; smtp.Host = clientHost; smtp.Send(mail); } var itemND = new ActionPlanDetail(); itemND.ActionPlanID = item.ActionplanID; itemND.UserID = userprofile.User.ID; itemND.Sent = true; new ActionPlanDAO().AddActionDetail(itemND); return(Json(new { status = true, isSendmail = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var a = new ErrorMessage(); a.Name = ex.Message; new ErrorMessageDAO().Add(a); return(Json(new { status = true, isSendmail = false }, JsonRequestBehavior.AllowGet)); } } } return(View()); }
public bool AddActionDetail(ActionPlanDetail entity) { try { _dbContext.ActionPlanDetails.Add(entity); _dbContext.SaveChanges(); return(true); } catch (Exception) { return(false); } }
public AddCommentVM Add(ActionPlan entity, string subject) { var user = _dbContext.Users; var itemActionPlanDetail = new ActionPlanDetail(); var listEmail = new List <string[]>(); var listUserID = new List <int>(); var listFullNameTag = new List <string>(); var listTags = new List <Tag>(); var itemTag = _dbContext.Tags; try { if (entity.Description.IndexOf(";") == -1) { entity.Description = entity.Description; } else { var des = string.Empty; entity.Description.Split(';').ToList().ForEach(line => { des += line + " "; }); entity.Description = des; } _dbContext.ActionPlans.Add(entity); _dbContext.SaveChanges(); if (!entity.Tag.IsNullOrEmpty()) { string[] arrayString = new string[5]; if (entity.Tag.IndexOf(",") == -1) { var userItem = user.FirstOrDefault(x => x.Username == entity.Tag); if (userItem != null) { var tag = new Tag(); tag.ActionPlanID = entity.ID; tag.UserID = (int?)userItem.ID ?? 0; _dbContext.Tags.Add(tag); _dbContext.SaveChanges(); arrayString[0] = user.FirstOrDefault(x => x.ID == entity.UserID).FullName; arrayString[1] = userItem.Email; arrayString[2] = entity.Link; arrayString[3] = entity.Title; arrayString[4] = entity.Description; listFullNameTag.Add(userItem.FullName); listEmail.Add(arrayString); } } else { var list = entity.Tag.Split(','); var listUsers = _dbContext.Users.Where(x => list.Contains(x.Username)).ToList(); foreach (var item in listUsers) { var tag = new Tag(); tag.ActionPlanID = entity.ID; tag.UserID = item.ID; listTags.Add(tag); arrayString[0] = user.FirstOrDefault(x => x.ID == entity.UserID).FullName; arrayString[1] = item.Email; arrayString[2] = entity.Link; arrayString[3] = entity.Title; arrayString[4] = entity.Description; listFullNameTag.Add(item.FullName); listEmail.Add(arrayString); } _dbContext.Tags.AddRange(listTags); _dbContext.SaveChanges(); } } //Add vao Notification var notify = new Notification(); notify.ActionplanID = entity.ID; notify.Content = entity.Description; notify.UserID = entity.UserID; notify.Title = entity.Title; notify.Link = entity.Link; notify.Tag = string.Join(",", listFullNameTag); notify.Title = subject; new NotificationDAO().Add(notify); return(new AddCommentVM { Status = true, ListEmails = listEmail }); } catch (Exception ex) { var message = ex.Message; return(new AddCommentVM { Status = true, ListEmails = listEmail }); } }