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); }
/// <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; }
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; }
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); }