/// <summary> /// Create a new Lead /// </summary> /// <param name="createViewModel"></param> /// <param name="username">user name, such as type whoami under command line \\F01\anh.tran</param> public void CreateLead(LeadModifyViewMode createViewModel, string username) { try { var lead = createViewModel.Lead; //Svae Address _db.CrmLeadAddresses.Add(createViewModel.Address); _db.SaveChanges(); var addressID = createViewModel.Address.AddressID; //Save Lead lead.AddressID = addressID; var emp = new CrmEmployee(username); lead.CreatedBy = emp.UserEmployeeID; lead.CreatedAt = DateTime.Now; lead.LastUpdatedBy = emp.UserEmployeeID; lead.LastUpdatedAt = DateTime.Now; //status if (lead.AccountExcutive > 0) { lead.AeAssignedAt = DateTime.Now; } else { lead.AeAssignedAt = null; } _db.CrmLeads.Add(lead); _db.SaveChanges(); LogMethods.Log.Debug("CreateLead:Debug:" + "Done"); } catch (DbEntityValidationException dbEx) { LogMethods.Log.Error("CreateLead:Error:" + dbEx.Message); } }
/// <summary> /// Edit an existing lead /// </summary> /// <param name="createViewModel"></param> /// <param name="username"></param> public void EditLead(LeadModifyViewMode createViewModel, string username) { var lead = createViewModel.Lead; var emp = new CrmEmployee(username); lead.LastUpdatedBy = emp.UserEmployeeID; lead.LastUpdatedAt = DateTime.Now; var cdt = lead.CriticalDeadline; lead.CriticalDeadline = cdt; try { _db.Entry(lead).State = EntityState.Modified; createViewModel.Address.AddressID = lead.AddressID; _db.Entry(createViewModel.Address).State = EntityState.Modified; _db.SaveChanges(); RecordLeadStatusChangdTime(lead); RecordLeadAeChangdTime(lead); LogMethods.Log.Debug("EditLead:Debug:" + "Done"); } catch (Exception ex) { LogMethods.Log.Error("EditLead:Error:" + ex.Message); } }