コード例 #1
0
        public ActionResult AjaxCreate(Customers customer, string[] agent_groups)
        {
            int flag = 0;
            string msg = "";
            try
            {
                flag = -1;
                if (CheckDuplicate(customer, agent_groups) == true)
                {
                    flag = -2;
                    //因錯誤訊息與AjaxUpdate 一樣,增加 Create 區別 dannis 2015/8/20
                    msg += "Create Customer telphone or email is duplication\n";
                }
                else
                {
                    flag = -3;
                    customer.ModifiedDT = DateTime.Now;
                    if (ModelState.IsValid)
                    {
                        flag = -4;
                        db.Customers.Add(customer);
                        db.SaveChanges();
                        flag = 0;
                    }
                }
            }
            catch (Exception ex)
            {
                msg += Helpers.Error.FetchExceptionMessage(ex);
            }

            var ret = new
            {
                result = flag,
                msg = msg
            };

            return Content(JsonConvert.SerializeObject(ret), Def.JsonMimeType);
        }
コード例 #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="customer"></param>
        /// <returns></returns>
        private Object CustomerToObject(Customers customer)
        {
            var ret = new
            {
                ID = customer.ID.ToString(),
                CName = customer.CName,
                EName = customer.EName,
                Category = customer.Category,
                ID2 = customer.ID2,
                Region = customer.Region,
                City = customer.City,
                Address = customer.Address,
                GroupID = customer.GroupID,
                Comment = customer.Comment,
                Marketer = customer.Marketer,
                AgentID1 = customer.AgentID1,
                AgentID2 = customer.AgentID2,
                Contact1_Name = customer.Contact1_Name,
                Contact1_Title = customer.Contact1_Title,
                Contact1_Tel1 = customer.Contact1_Tel1,
                Contact1_Tel2 = customer.Contact1_Tel2,
                Contact1_Email1 = customer.Contact1_Email1,
                Contact1_Email2 = customer.Contact1_Email2,
                Contact2_Name = customer.Contact2_Name,
                Contact2_Title = customer.Contact2_Title,
                Contact2_Tel1 = customer.Contact2_Tel1,
                Contact2_Tel2 = customer.Contact2_Tel2,
                Contact2_Email1 = customer.Contact2_Email1,
                Contact2_Email2 = customer.Contact2_Email2,
                Contact3_Name = customer.Contact3_Name,
                Contact3_Title = customer.Contact3_Title,
                Contact3_Tel1 = customer.Contact3_Tel1,
                Contact3_Tel2 = customer.Contact3_Tel2,
                Contact3_Email1 = customer.Contact3_Email1,
                Contact3_Email2 = customer.Contact3_Email2,

                //additional properties
                CategoryName = customer.CustomerCategory == null ? null : customer.CustomerCategory.Desc,
            };
            return ret;
        }
コード例 #3
0
        private bool CheckDuplicate(Customers customer, string[] agent_groups)
        {
            Guid id = customer.ID;
            string tel_11 = customer.Contact1_Tel1;
            string tel_12 = customer.Contact1_Tel2;
            string email_11 = customer.Contact1_Email1;
            string email_12 = customer.Contact1_Email2;
            string tel_21 = customer.Contact2_Tel1;
            string tel_22 = customer.Contact2_Tel2;
            string email_21 = customer.Contact2_Email1;
            string email_22 = customer.Contact2_Email2;
            string tel_31 = customer.Contact3_Tel1;
            string tel_32 = customer.Contact3_Tel2;
            string email_31 = customer.Contact3_Email1;
            string email_32 = customer.Contact3_Email2;

            int count =
                (from c in db.Customers
                where
                 c.ID != id &&
                 agent_groups.Contains(c.GroupID) &&
                ((string.IsNullOrEmpty(tel_11) ? false : (c.Contact1_Tel1 == tel_11 || c.Contact1_Tel2 == tel_11 || c.Contact2_Tel1 == tel_11 || c.Contact2_Tel2 == tel_11 || c.Contact3_Tel1 == tel_11 || c.Contact3_Tel2 == tel_11)) ||
                (string.IsNullOrEmpty(tel_12) ? false : (c.Contact1_Tel1 == tel_12 || c.Contact1_Tel2 == tel_12 || c.Contact2_Tel1 == tel_12 || c.Contact2_Tel2 == tel_12 || c.Contact3_Tel1 == tel_12 || c.Contact3_Tel2 == tel_12)) ||
                (string.IsNullOrEmpty(tel_21) ? false : (c.Contact1_Tel1 == tel_21 || c.Contact1_Tel2 == tel_21 || c.Contact2_Tel1 == tel_21 || c.Contact2_Tel2 == tel_21 || c.Contact3_Tel1 == tel_21 || c.Contact3_Tel2 == tel_21)) ||
                (string.IsNullOrEmpty(tel_22) ? false : (c.Contact1_Tel1 == tel_22 || c.Contact1_Tel2 == tel_22 || c.Contact2_Tel1 == tel_22 || c.Contact2_Tel2 == tel_22 || c.Contact3_Tel1 == tel_22 || c.Contact3_Tel2 == tel_22)) ||
                (string.IsNullOrEmpty(tel_31) ? false : (c.Contact1_Tel1 == tel_31 || c.Contact1_Tel2 == tel_31 || c.Contact2_Tel1 == tel_31 || c.Contact2_Tel2 == tel_31 || c.Contact3_Tel1 == tel_31 || c.Contact3_Tel2 == tel_31)) ||
                (string.IsNullOrEmpty(tel_32) ? false : (c.Contact1_Tel1 == tel_32 || c.Contact1_Tel2 == tel_32 || c.Contact2_Tel1 == tel_32 || c.Contact2_Tel2 == tel_32 || c.Contact3_Tel1 == tel_32 || c.Contact3_Tel2 == tel_32)) ||
                (string.IsNullOrEmpty(email_11) ? false : (c.Contact1_Email1 == email_11 || c.Contact1_Tel2 == email_11 || c.Contact2_Email1 == email_11 || c.Contact2_Tel2 == email_11 || c.Contact3_Email1 == email_11 || c.Contact3_Tel2 == email_11)) ||
                (string.IsNullOrEmpty(email_12) ? false : (c.Contact1_Email1 == email_12 || c.Contact1_Tel2 == email_12 || c.Contact2_Email1 == email_12 || c.Contact2_Tel2 == email_12 || c.Contact3_Email1 == email_12 || c.Contact3_Tel2 == email_12)) ||
                (string.IsNullOrEmpty(email_21) ? false : (c.Contact1_Email1 == email_21 || c.Contact1_Tel2 == email_21 || c.Contact2_Email1 == email_21 || c.Contact2_Tel2 == email_21 || c.Contact3_Email1 == email_21 || c.Contact3_Tel2 == email_21)) ||
                (string.IsNullOrEmpty(email_22) ? false : (c.Contact1_Email1 == email_22 || c.Contact1_Tel2 == email_22 || c.Contact2_Email1 == email_22 || c.Contact2_Tel2 == email_22 || c.Contact3_Email1 == email_22 || c.Contact3_Tel2 == email_22)) ||
                (string.IsNullOrEmpty(email_31) ? false : (c.Contact1_Email1 == email_31 || c.Contact1_Tel2 == email_31 || c.Contact2_Email1 == email_31 || c.Contact2_Tel2 == email_31 || c.Contact3_Email1 == email_31 || c.Contact3_Tel2 == email_31)) ||
                (string.IsNullOrEmpty(email_32) ? false : (c.Contact1_Email1 == email_32 || c.Contact1_Tel2 == email_32 || c.Contact2_Email1 == email_32 || c.Contact2_Tel2 == email_32 || c.Contact3_Email1 == email_32 || c.Contact3_Tel2 == email_32)))
                select c).Count();

            if (count > 0)
            {
                return true;
            }

            return false;
        }
コード例 #4
0
        public ActionResult AjaxUpdate(Customers customer, string[] agent_groups)
        {
            int flag = 0;
            string msg = "";
            try
            {
                if (string.IsNullOrEmpty(customer.CName))
                {
                    flag = -3;
                    msg += "Customer chinese name is null\n";
                }
                else
                {
                    if (CheckDuplicate(customer, agent_groups) == true)
                    {
                        flag = -2;
                        //增加顯示客戶名稱 dannis 2015/8/20
                        msg += string.Format("{0}Update Customer telphone or email is duplication\n", customer.CName);
                    }
                    else
                    {
                        customer.ModifiedDT = DateTime.Now;
                        if (ModelState.IsValid)
                        {
                            flag = -1;
                            db.Entry(customer).State = EntityState.Modified;
                            db.SaveChanges();
                            flag = 0;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                msg += Helper.FetchExceptionMessage(ex);
            }

            var ret = new {
                result = flag,
                msg = msg
            };

            return Content(JsonConvert.SerializeObject(ret), Def.JsonMimeType);
        }