protected override void Update() { MaestroCustomer customer = (MaestroCustomer)request.TransactionEntityList[0]; cm.Update(customer); Context.TransactionObject = customer; }
public MaestroCustomer GetUnknownItem() { MaestroCustomer unknowCustomer = CustomerCache.Instance.GetByName(MaestroApplication.Instance.UNKNOWN_ITEM_NAME); if (unknowCustomer == null) { unknowCustomer = new MaestroCustomer() { Name = MaestroApplication.Instance.UNKNOWN_ITEM_NAME, Address = string.Empty, DefaultPaymentType = string.Empty, Email = string.Empty, Phone = string.Empty, QuickBooksId = string.Empty, QuickBoosCompany = string.Empty, Region = new RegionManager(context).GetUnknownItem(), Title = string.Empty, CreateDate = DateTime.Now, UpdateDate = DateTime.Now, CreatedUser = "******", UpdatedUser = "******", RecordStatus = "A", CustomerGroup = string.Empty, ReportGroup = string.Empty, InvoiceGroup = string.Empty }; InsertNewItem(unknowCustomer); CustomerCache.Instance.Reload(true); } return(unknowCustomer); }
protected override void New() { MaestroCustomer customer = (MaestroCustomer)request.TransactionEntityList[0]; cm.InsertNewItem(customer); response.TransactionResult = customer; //Context.TransactionObject = customer; }
protected override void ImportQb() { /* * ImportRequestType importRequestType = EnumUtils.GetEnum<ImportRequestType>(extendedData[MessageDataExtensionKeys.IMPORT_TYPE]); * string qbId = string.Empty; * if (importRequestType == ImportRequestType.Single) * qbId = extendedData[MessageDataExtensionKeys.ID]; */ List <MaestroCustomer> qbCustomers = null; BackUp(); using (qbAgent = new QuickBooksCustomerAgent(Context)) { qbCustomers = qbAgent.Import().Cast <MaestroCustomer>().ToList(); } if (qbCustomers.Count > 0) { List <MaestroCustomer> updatedCustomers = new List <MaestroCustomer>(); foreach (MaestroCustomer customer in qbCustomers) { MaestroCustomer existing = CustomerCache.Instance.GetByQbId(customer.QuickBooksId); if (existing != null) { customer.Id = existing.Id; customer.DefaultPaymentType = existing.DefaultPaymentType; cm.Update(customer); updatedCustomers.Add(existing); } } List <ITransactionEntity> clist = qbCustomers.Where(q => !updatedCustomers.Select(u => u.QuickBooksId).Contains(q.QuickBooksId)).Cast <ITransactionEntity>().ToList(); if (clist.Count > 0) { cm.BulkInsert(clist); } responseMessage = string.Format("{0} customers have been imported/updated", qbCustomers.Count); response.TransactionResult = qbCustomers; } else { responseMessage = "No customers have been imported"; } }
ResponseMessage Add(long regionId, string name, string title) { MaestroCustomer item = new MaestroCustomer() { Address = "An address", DefaultPaymentType = "COD", Email = "*****@*****.**", Name = "A customer", Region = new MaestroRegion() { Id = regionId }, Title = "A Title", Phone = "123456789", }; RequestMessage request = MessagePrepareAgent.GetRequest(action, tranCode, "", new List <ITransactionEntity>(new ITransactionEntity[] { item })); return(new MessageBroker().Execute(request)); }
public override void Deserialize(JToken token) { MaestroCustomer resultObj = new MaestroCustomer(); JObject entityObj = JObject.Parse(token.ToString()); resultObj.Id = entityObj["Id"].ToObject <long>(); resultObj.Address = entityObj["Address"].ToString(); resultObj.DefaultPaymentType = entityObj["DefaultPaymentType"].ToString(); resultObj.Email = entityObj["Email"].ToString(); resultObj.Name = entityObj["Name"].ToString(); resultObj.Phone = entityObj["Phone"].ToString(); resultObj.Title = entityObj["Title"].ToString(); resultObj.QuickBooksId = entityObj["QuickBooksId"].ToString(); resultObj.QuickBoosCompany = entityObj["QuickBoosCompany"].ToString(); resultObj.CustomerGroup = entityObj["CustomerGroup"].ToString(); resultObj.ReportGroup = entityObj["ReportGroup"].ToString(); resultObj.InvoiceGroup = entityObj["InvoiceGroup"].ToString(); MaestroRegion region = null; if (entityObj.ContainsKey("MaestroRegion")) { JObject regionObj = JObject.Parse(entityObj["MaestroRegion"].ToString()); if (regionObj.ContainsKey("Id")) { long regionId = 0; long.TryParse(regionObj["Id"].ToString(), out regionId); if (regionId > 0) { region = RegionCache.Instance[regionId]; } if (region == null) { region = RegionCache.Instance.GetByName(MaestroApplication.Instance.UNKNOWN_ITEM_NAME); } } } resultObj.Region = region; Context.TransactionObject = resultObj; }
public void InsertNewItem(MaestroCustomer customer) { SpCall call = new SpCall("DAT.CUSTOMER_INSERT"); call.SetVarchar("@CUSTOMER_NAME", customer.Name); call.SetVarchar("@CUSTOMER_TITLE", customer.Title); call.SetVarchar("@CUSTOMER_ADDRESS", customer.Address); call.SetVarchar("@CUSTOMER_PHONE", customer.Phone); call.SetVarchar("@CUSTOMER_EMAIL", customer.Email); call.SetVarchar("@QB_CUSTOMER_ID", customer.QuickBooksId); call.SetVarchar("@QB_COMPANY", customer.QuickBoosCompany); call.SetBigInt("@REGION_ID", customer.Region.Id); call.SetVarchar("@DEFAULT_PAYMENT_TYPE", customer.DefaultPaymentType); call.SetVarchar("@CUSTOMER_GROUP", customer.CustomerGroup); call.SetVarchar("@REPORT_GROUP", customer.ReportGroup); call.SetDateTime("@CREATE_DATE", DateTime.Now); call.SetVarchar("@CREATE_USER", context.UserName); call.SetVarchar("@REPORT_GROUP", customer.ReportGroup); call.SetVarchar("@RECORD_STATUS", string.IsNullOrWhiteSpace(customer.RecordStatus) ? "A" : customer.RecordStatus); call.SetVarchar("@INVOICE_GROUP", customer.InvoiceGroup); customer.Id = db.ExecuteScalar <long>(call); }
MaestroCustomer GetMaestroCustomer(ICustomerRet qbc) { MaestroCustomer result = new MaestroCustomer(); result.Address = ReadAddress(qbc.BillAddress); result.Email = ReadString(qbc.Email); result.Name = ReadString(qbc.Name); result.Phone = ReadString(qbc.Phone); result.Region = GetRegion(qbc.BillAddress); result.Title = ReadString(qbc.JobTitle); result.QuickBooksId = ReadQbId(qbc.ListID); result.QuickBoosCompany = ReadString(qbc.CompanyName); result.CreateDate = DateTime.Now; result.UpdateDate = DateTime.Now; result.UpdatedUser = context.UserName; result.CreatedUser = context.UserName; result.CustomerGroup = qbc.CustomerTypeRef == null ? string.Empty : ReadString(qbc.CustomerTypeRef.FullName); result.RecordStatus = qbc.IsActive.GetValue() ? "A" : "P"; if (qbc.ShipToAddressList != null) { for (int i = 0; i < qbc.ShipToAddressList.Count; i++) { StringBuilder bld = new StringBuilder(); IShipToAddress shipAddress = qbc.ShipToAddressList.GetAt(i); bld.AppendLine(shipAddress.Name.GetValue()); bld.AppendLine(shipAddress.Addr1.GetValue()); bld.AppendLine(shipAddress.Addr2.GetValue()); bld.AppendLine(shipAddress.Addr3.GetValue()); bld.AppendLine(shipAddress.Addr4.GetValue()); bld.AppendLine(shipAddress.Addr5.GetValue()); bld.AppendLine(shipAddress.City.GetValue()); bld.AppendLine(shipAddress.PostalCode.GetValue()); bld.AppendLine(shipAddress.State.GetValue()); Console.WriteLine(bld.ToString()); } } return(result); }
protected override DataTable PrepareTable(List <ITransactionEntity> customers) { SpCall spCall = new SpCall("DAT.GET_CUSTOMER_SCHEMA"); DataTable dt = db.ExecuteDataTable(spCall); customers.Cast <MaestroCustomer>().ToList().ForEach(cus => { MaestroCustomer existing = CustomerCache.Instance.GetByQbId(cus.QuickBooksId); if (existing != null) { Delete(existing.Id); } DataRow dr = dt.NewRow(); dr["CUSTOMER_NAME"] = cus.Name; dr["CUSTOMER_TITLE"] = cus.Title; dr["CUSTOMER_ADDRESS"] = cus.Address; dr["CUSTOMER_PHONE"] = cus.Phone; dr["CUSTOMER_EMAIL"] = cus.Email; dr["QB_CUSTOMER_ID"] = cus.QuickBooksId; dr["QB_COMPANY"] = cus.QuickBoosCompany; dr["REGION_ID"] = cus.Region.Id; dr["DEFAULT_PAYMENT_TYPE"] = cus.DefaultPaymentType; dr["CREATE_DATE"] = cus.CreateDate; dr["CREATE_USER"] = cus.CreatedUser; dr["UPDATE_DATE"] = cus.UpdateDate; dr["UPDATE_USER"] = cus.UpdatedUser; dr["RECORD_STATUS"] = string.IsNullOrWhiteSpace(cus.RecordStatus) ? "A" : cus.RecordStatus; dr["CUSTOMER_GROUP"] = cus.CustomerGroup; dr["REPORT_GROUP"] = cus.ReportGroup; dr["INVOICE_GROUP"] = cus.InvoiceGroup; dt.Rows.Add(dr); }); dt.TableName = "DAT.CUSTOMER"; return(dt); }