Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
 public bool AddActionDetail(ActionPlanDetail entity)
 {
     try
     {
         _dbContext.ActionPlanDetails.Add(entity);
         _dbContext.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Ejemplo n.º 3
0
        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 + "&#13;&#10;";
                    });
                    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
                });
            }
        }