//id为client的id public ActionResult AddContact(int id, int? clientid) { ClientActivity c = db.ClientActivities.Find(id); if (c != null) { if (c.PlanTime != null) { return View("ShowError", "", "邀约记录不能通过这个入口修改"); } } else { c = new ClientActivity { Person = UserInfo.CurUser.Id }; c.ActualTime = DateTime.Now; c.ClientId = (int)clientid; } Client client = db.Clients.Find(c.ClientId); ViewBag.ProjectId = client.ProjectId; if (DepartmentBLL.GetById(client.GroupId).Name == "前台") { ViewBag.ChangeGroup = true; } return View(c); }
public ActionResult AddAppointment(int id, int? clientid,string ismobile, FormCollection collection) { ClientActivity c = new ClientActivity { Person = UserInfo.CurUser.Id }; db.ClientActivities.Add(c); TryUpdateModel(c, collection); if (!c.PlanTime.HasValue) { ModelState.AddModelError("PlanTime", "邀约时间不能为空"); } if (ModelState.IsValid) { db.SaveChanges(); if (!string.IsNullOrEmpty(ismobile)) { return Redirect("../View/" + c.ClientId.ToString()); } return Redirect("~/Content/close.htm"); } else { return View(c); } }
public ActionResult AddContact(int id, int? clientid, string ismobile, FormCollection collection) { ClientActivity c = db.ClientActivities.Find(id); if (c != null) { if (c.PlanTime != null) { return View("ShowError", "", "邀约记录不能通过这个入口修改"); } } else { c = new ClientActivity(); c.ClientId = (int)clientid; db.ClientActivities.Add(c); } TryUpdateModel(c, collection); if (c.Type == "on") { ModelState.AddModelError("Type", "请选择类型"); } if (c.Id == 0 && c.Type == "来访") { if (!UserInfo.CurUser.HasRight("客户管理-客户来访记录")) { return View("ShowError", "", "无权新增来访联系记录"); } } if (!c.ActualTime.HasValue) { ModelState.AddModelError("ActualTime", "联系时间不能为空"); } else if (((DateTime)c.ActualTime).Date != DateTime.Today) { ModelState.AddModelError("ActualTime", "联系日期只能为当天"); } Client client = db.Clients.Find(c.ClientId); ViewBag.ProjectId = client.ProjectId; if (DepartmentBLL.GetById(client.GroupId).Name == "前台") { ViewBag.ChangeGroup = true; int group = 0; if (int.TryParse(collection["GroupId"], out group)) { client.GroupId = group; } else { ModelState.AddModelError("", "请选择小组"); ViewBag.GroupPrompt = "请选择小组"; } } if (ModelState.IsValid) { if (c.Type == "来访" && (client.State == ClientStateEnum.邀约客户 || client.State == ClientStateEnum.来电客户)) { client.State = ClientStateEnum.来访客户; client.StateDate = DateTime.Today; Utilities.AddLog(db, client.Id, Client.LogClass, "转来访客户", ""); } if (c.Type == "来访") { var logs = (from o in db.ClientActivities where o.ClientId == client.Id && o.Id != c.Id && o.FirstType == 2 select o).FirstOrDefault(); if (logs == null) { c.FirstType = 2; } } db.SaveChanges(); if (!string.IsNullOrEmpty(ismobile)) { return Redirect("../View/" + client.Id.ToString()); } return Redirect("~/Content/close.htm"); } else { return View(c); } }
public ActionResult Create(int projectid, int type, FormCollection collection) { ViewBag.QuDao = DictionaryBLL.GetL2ByName("渠道类型", true); ViewBag.HasAppointment = false; ViewBag.Type = type; bool HasAppointment = (collection["HasAppointment"] != null && collection["HasAppointment"].Equals("Add")) ? true : false; ViewBag.HasAppointment = HasAppointment; ClientCreate cc = new ClientCreate(); cc.ProjectId = projectid; Project p = Project.Get(projectid); if (p.RoomTypes.Count > 0) { cc.RoomType = p.RoomTypes[0].Name; } switch (type) { case 1: cc.GroupId = UserInfo.CurUser.GetGroup(projectid); ViewBag.Msg = "来电客户登记"; break; case 2: ViewBag.Msg = "直访客户登记";//直访客户要选择小组 if (!UserInfo.CurUser.HasRight("客户管理-前台"))//非前台不能做来访登记 { return Redirect("~/content/AccessDeny.htm"); } break; case 3: cc.GroupId = UserInfo.CurUser.GetGroup(projectid); ViewBag.HasAppointment = true; ViewBag.QuDao = new List<Dictionary2> { new Dictionary2 {L1 = "中介", L2=new List<string>()} }; ViewBag.Msg = "中介邀约客户报备"; break; case 4: cc.GroupId = Project.GetGroupByName(projectid, "前台"); ViewBag.HasAppointment = true; ViewBag.QuDao = new List<Dictionary2> { new Dictionary2 {L1 = "电话中心", L2=new List<string>()} }; ViewBag.Msg = "电话中心客户报备"; //ToDo:如果邀约客户未到访,然后再次报备如何处理? break; case 5: cc.GroupId = UserInfo.CurUser.GetGroup(projectid); ViewBag.HasAppointment = true; ViewBag.QuDao = new List<Dictionary2> { new Dictionary2 {L1 = "销售员拓客", L2=new List<string>()} }; ViewBag.Msg = "销售员拓客报备"; break; } ClientStateEnum state = ClientStateEnum.邀约客户; TryUpdateModel(cc, collection); switch (type) { case 1: state = ClientStateEnum.来电客户; if (cc.AppointmentPlanTime != null || cc.AppointmentType != null) { if (cc.AppointmentPlanTime == null) { ModelState.AddModelError("AppointmentPlanTime", "请输入邀约时间"); } if (cc.AppointmentType == null) { ModelState.AddModelError("AppointmentType", "请输入邀约类型"); } } break; case 2: state = ClientStateEnum.来访客户; if (cc.AppointmentPlanTime != null || cc.AppointmentType != null) { if (cc.AppointmentPlanTime == null) { ModelState.AddModelError("AppointmentPlanTime", "请输入邀约时间"); } if (cc.AppointmentType == null) { ModelState.AddModelError("AppointmentType", "请输入邀约类型"); } } break; case 3: state = ClientStateEnum.邀约客户; if (cc.AppointmentPlanTime == null) { ModelState.AddModelError("AppointmentPlanTime", "请输入邀约时间"); } if (cc.AppointmentType == null) { ModelState.AddModelError("AppointmentType", "请输入邀约类型"); } break; case 4: state = ClientStateEnum.邀约客户; if (cc.AppointmentPlanTime == null) { ModelState.AddModelError("AppointmentPlanTime", "请输入邀约时间"); } if (cc.AppointmentType == null) { ModelState.AddModelError("AppointmentType", "请输入邀约类型"); } if (string.IsNullOrEmpty(cc.CallPerson)) { ModelState.AddModelError("CallPerson", "请输入经办人"); } break; case 5: state = ClientStateEnum.邀约客户; if (cc.AppointmentPlanTime == null) { ModelState.AddModelError("AppointmentPlanTime", "请输入邀约时间"); } if (cc.AppointmentType == null) { ModelState.AddModelError("AppointmentType", "请输入邀约类型"); } break; } Client checkClient = new Client { Id = cc.Id, ProjectId = cc.ProjectId, Phone1 = cc.Phone1, Phone2 = cc.Phone2 }; JsonResult numcheck = PhoneCheck(checkClient.Phone1); Result result = (Result)numcheck.Data; if (!result.success) { if (result.obj.Equals("号码格式错误")) ModelState.AddModelError("Phone1", result.obj.ToString()); } if (!string.IsNullOrEmpty(checkClient.Phone2)) { numcheck = PhoneCheck(checkClient.Phone2); result = (Result)numcheck.Data; if (!result.success) { if (result.obj.Equals("号码格式错误")) ModelState.AddModelError("Phone2", result.obj.ToString()); } } int check = CheckClientByPhone(checkClient); if (check != 0) { ModelState.AddModelError("", "同电话号码客户已经存在,所在组为:" + DepartmentBLL.GetNameById(check)); } if (ModelState.IsValid) { Client c = new Client(); UpdateModel(c, collection); c.ProjectId = cc.ProjectId; c.GroupId = cc.GroupId; c.CreateTime = DateTime.Now; c.StateDate = DateTime.Today; c.State = state; c.CallPerson = cc.CallPerson; db.Clients.Add(c); db.SaveChanges(); ClientActivity ca = new ClientActivity { Person = UserInfo.CurUser.Id }; ca.ClientId = c.Id; switch (type) { case 1: db.ClientActivities.Add(ca); ca.ActualTime = DateTime.Today; ca.Type = "来电"; ca.FirstType = 1; break; case 2: db.ClientActivities.Add(ca); ca.ActualTime = DateTime.Today; ca.Type = "来访"; ca.FirstType = 2; break; case 3: case 4: break; } if (cc.AppointmentType != null) { ClientActivity appoint = new ClientActivity { Person = UserInfo.CurUser.Id }; appoint.ClientId = c.Id; appoint.PlanTime = cc.AppointmentPlanTime; appoint.Type = cc.AppointmentType; appoint.Detail = cc.AppointmentDetail; db.ClientActivities.Add(appoint); } if (!string.IsNullOrEmpty(c.Phone2)) c.AllPhone = string.Format("{0},{1}", c.Phone1, c.Phone2); else c.AllPhone = c.Phone1; Utilities.AddLog(db, c.Id, Client.LogClass, "客户登记", string.Format("{0} 姓名:{1} 电话:{2}", ca.Type ?? cc.AppointmentType, c.Name, c.AllPhone)); c.Code = p.GetNewClientCode(db); db.SaveChanges(); return Redirect("./View/" + c.Id); //ToDo:这个地方有BUG,提交不成功后出错 } else { return View("Create", cc); } }
public ActionResult AddAppointment(int id, int? clientid) { ClientActivity c = new ClientActivity { Person = UserInfo.CurUser.Id }; c.ClientId = (int)clientid; return View(c); }
public void Fun1(string filename) { FileInfo fi = new FileInfo(filename); StringBuilder errorinfo = new StringBuilder(); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"]; int i = 1; using (Context db = new Context()) { //db.Configuration.AutoDetectChangesEnabled = false; //using (TransactionScope tran = new TransactionScope()) //{ while (i < 6000) { i++; string name = ExcelHelper.ReadString(worksheet.Cells[i, 3]); if (string.IsNullOrEmpty(name)) continue; int projectid = int.Parse(ExcelHelper.ReadString(worksheet.Cells[i, 9])); DateTime? d = ExcelHelper.ReadDateEmpty(worksheet.Cells[i, 2]); if (d == null) { Console.WriteLine("ErrorDate" + i.ToString()); continue; } string phone = ExcelHelper.ReadString(worksheet.Cells[i, 4]); string way = ExcelHelper.ReadString(worksheet.Cells[i, 5]); if (string.IsNullOrEmpty(way)) { way = "-"; } string roomtype = ExcelHelper.ReadString(worksheet.Cells[i, 6]); //string u1 = ExcelHelper.ReadString(worksheet.Cells[i, 7]); string u2 = ExcelHelper.ReadString(worksheet.Cells[i, 8]); if (phone != "-") { if ( (from o in db.Clients where o.ProjectId == projectid && o.Phone1 == phone select o) .FirstOrDefault() !=null) { Console.WriteLine("客户已存在" + i.ToString()); continue; } } int sales1 = (from o in db.SystemUsers where o.Name == u2 select o.Id).FirstOrDefault(); int sales; if (sales1 == 0) { Console.WriteLine("销售员不存在" + u2+i.ToString()); continue; } sales = (int) sales1; int team1 = (from o in db.SystemUsers join p in db.DepartmentUsers on o.Id equals p.UserId where o.Name == u2 select p.DepartmentId).FirstOrDefault(); if (team1 == 0) { Console.WriteLine("销售组不存在" + u2); continue; } int team=(int)team1; Client client = new Client {ProjectId = projectid}; client.Name = name; client.Phone1 = phone; client.Way = way; client.RoomType = roomtype; client.AllPhone = phone; client.Code = "导入数据"; client.CreateTime = (DateTime)d; client.GroupId = team; client.State = ClientStateEnum.来电客户; client.StateDate = new DateTime(2013, 11, 30); db.Clients.Add(client); db.SaveChanges(); ClientActivity ca = new ClientActivity {ClientId = client.Id}; db.ClientActivities.Add(ca); ca.ActualTime = client.CreateTime; ca.FirstType = 1; ca.Person = sales; ca.Type = "来电"; db.SaveChanges(); } //tran.Complete(); // } } } }