public Customer CreateCustomer(Customer customer) { try { customer.CreatedDate = Convert.ToDateTime(DateTime.Now); customer.ModifiedDate = Convert.ToDateTime(DateTime.Now); _customer.InsertOne(customer); if (customer.Status == CustomerStatus.SUBMIT) { var dataCRMProcessing = new DataCRMProcessing { CustomerId = customer.Id, Status = DataCRMProcessingStatus.InProgress }; _dataCRMProcessingServices.CreateOne(dataCRMProcessing); if (customer.GreenType == GeenType.GreenC) { var dataMCProcessing = new DataMCProcessing { CustomerId = customer.Id, Status = DataCRMProcessingStatus.InProgress }; _dataMCProcessingServices.CreateOne(dataMCProcessing); } } return(customer); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(null); } }
public DataMCProcessing CreateOne(DataMCProcessing dataMC) { var newData = new DataMCProcessing(); try { _dataMCProcessing.InsertOne(dataMC); newData = dataMC; } catch (Exception ex) { _logger.LogError(ex, ex.Message); } return(newData); }
public long UpdateCustomer(Customer customer) { long updateCount = 0; try { string teamLead = ""; string userName = ""; string message = ""; string type = ""; dynamic prvCustomer = _customer.Find(c => c.Id == customer.Id).FirstOrDefault(); var currUser = _userroleServices.GetUserRoleByUserName(customer.UserName); if (currUser != null) { teamLead = currUser.TeamLead; } customer.ModifiedDate = Convert.ToDateTime(DateTime.Now); customer.CreatedDate = prvCustomer.CreatedDate; updateCount = _customer.ReplaceOne(c => c.Id == customer.Id, customer).ModifiedCount; if (customer.Status.ToUpper() == CustomerStatus.SUBMIT) { // Update to CRM var dataCRMProcessing = new DataCRMProcessing { CustomerId = customer.Id, Status = DataCRMProcessingStatus.InProgress }; _dataCRMProcessingServices.CreateOne(dataCRMProcessing); // Notification userName = teamLead; if (!String.IsNullOrEmpty(customer.Result?.Reason)) { type = NotificationType.Edit; message = string.Format(Message.NotificationUpdate, customer.UserName, customer.Personal.Name); } else { type = NotificationType.Add; message = string.Format(Message.NotificationAdd, customer.UserName, customer.Personal.Name); } } else if (customer.Status.ToUpper() == CustomerStatus.REJECT) { userName = customer.UserName; type = NotificationType.TeamLeadReject; message = string.Format(Message.TeamLeadReject, teamLead, customer.Personal.Name); } else if (customer.Status.ToUpper() == CustomerStatus.APPROVE) { // send data to MC if (customer.GreenType == GeenType.GreenC) { var dataMCProcessing = new DataMCProcessing { CustomerId = customer.Id, Status = DataCRMProcessingStatus.InProgress }; _dataMCProcessingServices.CreateOne(dataMCProcessing); } userName = customer.UserName; type = NotificationType.TeamLeadApprove; message = string.Format(Message.TeamLeadApprove, teamLead, customer.Personal.Name); } if (message != "") { var objNoti = new Notification { green = GeenType.GreenC, recordId = customer.Id, isRead = false, type = type, userName = userName, message = message, createAt = Convert.ToDateTime(DateTime.Today.ToLongDateString()) }; _notificationServices.CreateOne(objNoti); } } catch (Exception ex) { updateCount = -1; _logger.LogError(ex, ex.Message); } return(updateCount); }