/// <summary> /// convert salesperson to view model /// </summary> /// <param name="salesperson"></param> /// <returns></returns> public SalespersonViewModel ConvertToView(RM00301_Salesperson salesperson) { SalespersonViewModel model = new SalespersonViewModel(); model.SalespersonId = salesperson.SLPRSNID; model.SalespersonName = (!string.IsNullOrEmpty(salesperson.SLPRSNFN.Replace(" ", string.Empty)) && !string.IsNullOrEmpty(salesperson.SPRSNSLN.Replace(" ", string.Empty))) ? salesperson.SLPRSNFN + " " + salesperson.SPRSNSLN : "N/A"; model.Phone1 = FormattingManager.FormatPhone(salesperson.PHONE1); model.FaxNumber = FormattingManager.FormatPhone(salesperson.FAX); model.SalesTerritoryDescription = salesperson.SALSTERR; model.IsActive = salesperson.INACTIVE != 1 ? true : false; return(model); }
/// <summary> /// get salesperson by id /// </summary> /// <param name="id"></param> /// <returns></returns> public RM00301_Salesperson GetSalesperson(string id) { var salesperson = new RM00301_Salesperson(); try { salesperson = _dynamicsContext.RM00301_Salesperson.FirstOrDefault(x => x.SLPRSNID.Replace(" ", string.Empty).ToLower() == id.Replace(" ", string.Empty).ToLower()); } catch (Exception ex) { logger.ErrorFormat("Error getting salesperson: {0} ", ex.ToString()); } return(salesperson); }
/// <summary> /// get salesperson by customer /// </summary> /// <param name="customerNumber"></param> /// <returns></returns> public RM00301_Salesperson GetSalespersonByCustomer(string customerNumber) { var salesperson = new RM00301_Salesperson(); try { var customer = _dynamicsContext.RM00101_Customer.FirstOrDefault(x => x.CUSTNMBR.Replace(" ", string.Empty).ToLower() == customerNumber.Replace(" ", string.Empty).ToLower()); salesperson = _dynamicsContext.RM00301_Salesperson.FirstOrDefault(x => x.SLPRSNID.Replace(" ", string.Empty).ToLower() == customer.SLPRSNID.Replace(" ", string.Empty).ToLower()); } catch (Exception ex) { logger.ErrorFormat("Error getting salesperson: {0} ", ex.ToString()); } return(salesperson); }
/// <summary> /// update salesperson /// </summary> /// <param name="salesperson"></param> /// <returns></returns> public OperationResult UpdateSalesperson(RM00301_Salesperson salesperson) { var operationResult = new OperationResult(); var existingSalesperson = _dynamicsContext.RM00301_Salesperson.FirstOrDefault(x => x.SLPRSNID.Replace(" ", string.Empty) == salesperson.SLPRSNID); if (existingSalesperson != null) { logger.Debug("Salesperson is being updated."); try { existingSalesperson.SLPRSNID = salesperson.SLPRSNID; existingSalesperson.EMPLOYID = salesperson.EMPLOYID; existingSalesperson.VENDORID = salesperson.VENDORID; existingSalesperson.SLPRSNFN = salesperson.SLPRSNFN; existingSalesperson.SPRSNSMN = salesperson.SPRSNSMN; existingSalesperson.SPRSNSLN = salesperson.SPRSNSLN; existingSalesperson.ADDRESS1 = salesperson.ADDRESS1; existingSalesperson.ADDRESS2 = salesperson.ADDRESS2; existingSalesperson.ADDRESS3 = salesperson.ADDRESS3; existingSalesperson.CITY = salesperson.CITY; existingSalesperson.STATE = salesperson.STATE; existingSalesperson.ZIP = salesperson.ZIP; existingSalesperson.COUNTRY = salesperson.COUNTRY; existingSalesperson.PHONE1 = salesperson.PHONE1; existingSalesperson.PHONE2 = salesperson.PHONE2; existingSalesperson.PHONE3 = salesperson.PHONE3; existingSalesperson.FAX = salesperson.FAX; existingSalesperson.INACTIVE = salesperson.INACTIVE; existingSalesperson.SALSTERR = salesperson.SALSTERR; existingSalesperson.COMMCODE = salesperson.COMMCODE; existingSalesperson.COMPRCNT = salesperson.COMPRCNT; existingSalesperson.STDCPRCT = salesperson.STDCPRCT; existingSalesperson.COMAPPTO = salesperson.COMAPPTO; existingSalesperson.COSTTODT = salesperson.COSTTODT; existingSalesperson.CSTLSTYR = salesperson.CSTLSTYR; existingSalesperson.TTLCOMTD = salesperson.TTLCOMTD; existingSalesperson.TTLCOMLY = salesperson.TTLCOMLY; existingSalesperson.COMSLTDT = salesperson.COMSLTDT; existingSalesperson.COMSLLYR = salesperson.COMSLLYR; existingSalesperson.NCOMSLTD = salesperson.NCOMSLTD; existingSalesperson.NCOMSLYR = salesperson.NCOMSLYR; existingSalesperson.KPCALHST = salesperson.KPCALHST; existingSalesperson.KPERHIST = salesperson.KPERHIST; existingSalesperson.NOTEINDX = salesperson.NOTEINDX; existingSalesperson.MODIFDT = salesperson.MODIFDT; existingSalesperson.CREATDDT = salesperson.CREATDDT; existingSalesperson.COMMDEST = salesperson.COMMDEST; existingSalesperson.DEX_ROW_TS = salesperson.DEX_ROW_TS; existingSalesperson.DEX_ROW_ID = salesperson.DEX_ROW_ID; _dynamicsContext.SubmitChanges(); operationResult.Success = true; operationResult.Message = "Success"; } catch (Exception ex) { operationResult.Success = false; operationResult.Message = "Error"; logger.ErrorFormat("Error while updating salesperson: { 0} ", ex.ToString()); } } else { operationResult.Success = false; operationResult.Message = "Unable to find selected salesperson."; } return(operationResult); }
/// <summary> /// save new salesperson /// </summary> /// <param name="salesperson"></param> /// <returns></returns> public OperationResult SaveSalesperson(RM00301_Salesperson salesperson) { var operationResult = new OperationResult(); var existingSalesperson = _dynamicsContext.RM00301_Salesperson.FirstOrDefault(x => x.SLPRSNID.Replace(" ", string.Empty) == salesperson.SLPRSNID); if (existingSalesperson == null) { logger.Debug("Salesperson is being created..."); string sCustomerDocument; string sXsdSchema; string sConnectionString; using (eConnectMethods e = new eConnectMethods()) { try { // Create the customer data file SerializeSalespersonObject("Customer.xml"); // Use an XML document to create a string representation of the customer XmlDocument xmldoc = new XmlDocument(); xmldoc.Load("Customer.xml"); sCustomerDocument = xmldoc.OuterXml; // Specify the Microsoft Dynamics GP server and database in the connection string sConnectionString = @"data source=localhost;initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096"; // Create an XML Document object for the schema XmlDocument XsdDoc = new XmlDocument(); // Create a string representing the eConnect schema sXsdSchema = XsdDoc.OuterXml; // Pass in xsdSchema to validate against. e.CreateEntity(sConnectionString, sCustomerDocument); operationResult.Success = true; operationResult.Message = "Success"; } // The eConnectException class will catch eConnect business logic errors. // display the error message on the console catch (eConnectException exc) { Console.Write(exc.ToString()); operationResult.Success = false; operationResult.Message = "Error"; logger.ErrorFormat("Error saving new salesperson: {0} ", exc.ToString()); } // Catch any system error that might occurr. // display the error message on the console catch (System.Exception ex) { Console.Write(ex.ToString()); operationResult.Success = false; operationResult.Message = "Error"; logger.ErrorFormat("Error saving new salesperson: {0} ", ex.ToString()); } finally { // Call the Dispose method to release the resources // of the eConnectMethds object e.Dispose(); } } // end of using statement //try //{ // var newSalesperson = new RM00301_Salesperson() // { // SLPRSNID = salesperson.SLPRSNID, // EMPLOYID = salesperson.EMPLOYID, // VENDORID = salesperson.VENDORID, // SLPRSNFN = salesperson.SLPRSNFN, // SPRSNSMN = salesperson.SPRSNSMN, // SPRSNSLN = salesperson.SPRSNSLN, // ADDRESS1 = salesperson.ADDRESS1, // ADDRESS2 = salesperson.ADDRESS2, // ADDRESS3 = salesperson.ADDRESS3, // CITY = salesperson.CITY, // STATE = salesperson.STATE, // ZIP = salesperson.ZIP, // COUNTRY = salesperson.COUNTRY, // PHONE1 = salesperson.PHONE1, // PHONE2 = salesperson.PHONE2, // PHONE3 = salesperson.PHONE3, // FAX = salesperson.FAX, // INACTIVE = salesperson.INACTIVE, // SALSTERR = salesperson.SALSTERR, // COMMCODE = salesperson.COMMCODE, // COMPRCNT = salesperson.COMPRCNT, // STDCPRCT = salesperson.STDCPRCT, // COMAPPTO = salesperson.COMAPPTO, // COSTTODT = salesperson.COSTTODT, // CSTLSTYR = salesperson.CSTLSTYR, // TTLCOMTD = salesperson.TTLCOMTD, // TTLCOMLY = salesperson.TTLCOMLY, // COMSLTDT = salesperson.COMSLTDT, // COMSLLYR = salesperson.COMSLLYR, // NCOMSLTD = salesperson.NCOMSLTD, // NCOMSLYR = salesperson.NCOMSLYR, // KPCALHST = salesperson.KPCALHST, // KPERHIST = salesperson.KPERHIST, // NOTEINDX = salesperson.NOTEINDX, // MODIFDT = salesperson.MODIFDT, // CREATDDT = salesperson.CREATDDT, // COMMDEST = salesperson.COMMDEST, // DEX_ROW_TS = salesperson.DEX_ROW_TS, // DEX_ROW_ID = salesperson.DEX_ROW_ID // }; // _dynamicsContext.RM00301_Salesperson.InsertOnSubmit(newSalesperson); // _dynamicsContext.SubmitChanges(); // operationResult.Success = true; // operationResult.Message = "Success"; //} //catch (Exception ex) //{ // operationResult.Success = false; // operationResult.Message = "Error"; // logger.ErrorFormat("Error saving new salesperson: {0} ", ex.ToString()); //} } else { operationResult.Success = false; operationResult.Message = "Duplicate Entry"; } return(operationResult); }