Ejemplo n.º 1
0
        public ActionResult _PartialOpenPopup(Guid? id)
        {
            var emaildispatchrule = db.EmailDispatchRule.FirstOrDefault(e => e.CustomerId == id);

            var customer = db.Customers.Find(id);
            string strGroupID = "";
            if (customer != null && customer.GroupID != null)
                strGroupID = customer.GroupID;

            ViewBag.AgentsSuper = CommonUtilities.GetAgentList(db, strGroupID);;
            if (emaildispatchrule != null)
            {
                return PartialView("~/Areas/EmailSrv/Views/Customers/_PartialOpenPopup.cshtml", emaildispatchrule);
            }
            else
            {
                EEmailDispatchRule emaildispatchRule = new EEmailDispatchRule();
                emaildispatchRule.CustomerId = id;
                emaildispatchRule.Customers = db.Customers.Find(id);
                emaildispatchRule.AutoDispatch = true;

                return PartialView("~/Areas/EmailSrv/Views/Customers/_PartialOpenPopup.cshtml", emaildispatchRule);
            }
        }
Ejemplo n.º 2
0
        public ActionResult _PartialOpenPopup(EEmailDispatchRule emaildispatchrule, int DispatchId)
        {
            if(DispatchId < 1)
            {
                emaildispatchrule.ModifyOn = DateTime.Now;
                emaildispatchrule.ConditionType = 1;
                db.EmailDispatchRule.Add(emaildispatchrule);
                db.SaveChanges();
            }
            else
            {
                emaildispatchrule.Id = DispatchId;
                if ((emaildispatchrule.AgentId1 == null || emaildispatchrule.AgentId1.Length < 1) &&
                    (emaildispatchrule.AgentId2 == null || emaildispatchrule.AgentId2.Length < 1) &&
                    (emaildispatchrule.AgentId3 == null || emaildispatchrule.AgentId3.Length < 1))
                {
                    db.EmailDispatchRule.Remove(db.EmailDispatchRule.Find(emaildispatchrule.Id));
                }
                else
                {
                    emaildispatchrule.ModifyOn = DateTime.Now;
                    db.Entry(emaildispatchrule).State = EntityState.Modified;
                }
                db.SaveChanges();
            }

            return RedirectToAction("Index", "Customers", new { Area="EmailSrv" });
        }
        public ActionResult _PartialDetail(EEmailDispatchRule emaildispatchrule)
        {
            if (emaildispatchrule.Id < 0)
            {
                emaildispatchrule.Id = 0 - emaildispatchrule.Id;
                emaildispatchrule = db.EmailDispatchRule.Find(emaildispatchrule.Id);
                db.EmailDispatchRule.Remove(emaildispatchrule);
                db.SaveChanges();
            }
            else
            {
                if (ModelState.IsValid)
                {
                    emaildispatchrule.ModifyOn = System.DateTime.Now;
                    if (emaildispatchrule.ConditionType.Value == 1)
                    {
                        if (emaildispatchrule.Id == 0)
                        {
                            EEmailDispatchRule found =
                               db.EmailDispatchRule.FirstOrDefault(d => d.CustomerId == emaildispatchrule.CustomerId);

                            if (found != null)
                            {
                                return RedirectToAction("Index", new { cid = emaildispatchrule.CustomerId, err = 0 });
                            }
                        }
                        emaildispatchrule.Condition = "";
                    }
                    else if (emaildispatchrule.ConditionType.Value == 1)
                    {
                        if (emaildispatchrule.Id == 0)
                        {
                            string msgfrom = emaildispatchrule.Condition;
                            ECustomers found =
                                db.Customers.FirstOrDefault(
                                    d => d.Contact1_Email1.Contains(msgfrom) ||
                                         d.Contact1_Email2.Contains(msgfrom) ||
                                         d.Contact2_Email1.Contains(msgfrom) ||
                                         d.Contact2_Email2.Contains(msgfrom) ||
                                         d.Contact3_Email1.Contains(msgfrom) ||
                                         d.Contact3_Email2.Contains(msgfrom));

                            if (found != null)
                            {
                                return RedirectToAction("Index", new { cid = found.ID, err = 1 });
                            }
                        }
                        emaildispatchrule.CustomerId = null;
                    }
                    else if (emaildispatchrule.ConditionType.Value > 1)
                    {
                        emaildispatchrule.CustomerId = null;
                    }

                    if (emaildispatchrule.Id == 0)
                    {
                        db.EmailDispatchRule.Add(emaildispatchrule);
                    }
                    else if (emaildispatchrule.Id < 0)
                    {
                        emaildispatchrule.Id = 0 - emaildispatchrule.Id;
                        emaildispatchrule = db.EmailDispatchRule.Find(emaildispatchrule.Id);
                        db.EmailDispatchRule.Remove(emaildispatchrule);
                    }
                    else
                    {
                        db.Entry(emaildispatchrule).State = EntityState.Modified;
                    }

                    db.SaveChanges();
                }
                else
                {
                    return RedirectToAction("Index", new { err = -1 });
                }
            }
            return RedirectToAction("Index");
        }