public string GetArticles(string username, string token) { Integration integration; using (LinkContext ctx = new LinkContext()) { ClientUser user = ctx.ClientUsers.Include("IsUserOf").Where(cli => cli.UserName == username).FirstOrDefault(); Client client = user.IsUserOf; integration = ctx.Integrations.Include("EcommerceIntegrated").Include("ErpIntegrated").Where(igr => igr.ClientIntegrated.ClientId == client.ClientId).FirstOrDefault(); } IERPIntegration erp_integration = IntegrationFactory.IntegrationFactory.GetERPIntegration(integration.ErpIntegrated.Name); List <Common.EcommerceItem> articulos_erp = erp_integration.GetArticles(integration.IntegrationIp, integration.ERPUserName, integration.ERPPassword); double stock = erp_integration.GetStock(integration.IntegrationIp, integration.ERPUserName, integration.ERPPassword); //JsonArticulos articulosERP = JsonConvert.DeserializeObject<JsonArticulos>(string_articulos_erp); //JsonCantArticulos articulosERPCant = JsonConvert.DeserializeObject<JsonCantArticulos>(string_articulos_erp_cant); using (LinkContext ctx = new LinkContext()) { foreach (Common.EcommerceItem articuloERP in articulos_erp) { //Item it_cantidad = articulosERPCant.List.Find(it => it.Codigo == articuloERP.Codigo); Item item = new Item() { Integration = integration, Codigo = articuloERP.Codigo, Nombre = articuloERP.Nombre, Costo = articuloERP.Costo, description = articuloERP.Nombre, price = Convert.ToInt32(articuloERP.Costo), title = articuloERP.Nombre, warranty = "No Warranty", available_quantity = Convert.ToInt32(stock), Cantidad = stock.ToString() }; ctx.Integrations.Attach(integration); ctx.Items.Add(item); ctx.SaveChanges(); } } return("ok"); }
public void PostPurchase(string ip_company, string user_company, string password_company, string product_id, double product_quantity) { Integration integration; using (LinkContext ctx = new LinkContext()) { Client client = ctx.ClientUsers.Include("IsUserOf").Where(usr => usr.UserName == user_company).FirstOrDefault().IsUserOf; integration = ctx.Integrations.Include("ErpIntegrated").Where(integ => integ.ClientIntegrated.ClientId == client.ClientId).FirstOrDefault(); } IERPIntegration erp_integration = IntegrationFactory.IntegrationFactory.GetERPIntegration(integration.ErpIntegrated.Name); erp_integration.PostPurchase(integration.IntegrationIp, integration.ERPUserName, integration.ERPPassword, product_id, product_quantity); }