public bool AddProduct(Domain.Model.Product product) { try { var productDbOrject = new Product() { ProductName = product.ProductName, Price = product.Price }; var stockDbObject = new Stock() { ProductId = productDbOrject.ProductId, NumberOfDefectiveItems = product.ProductStocksDamage, NumberOfItemsAvailable = product.ProductStocksDamage }; _cookiesDbContext.Products.Add(productDbOrject); _cookiesDbContext.Stocks.Add(stockDbObject); return(_cookiesDbContext.SaveChanges() > 0); } catch (Exception ex) { throw ex; } }
public void VerificaVinculoProdutoVsProdutoPortifolioAlteracao(ProdutoPortfolio ProdPortfolio, ProdutoPortfolio ProdPortfolioPre) { if (ProdPortfolio.StateCode.HasValue) { if (ProdPortfolio.StateCode.Value == (int)Domain.Enum.ProdutoPortfolio.StateCode.Inativo) { return; } } if (ProdPortfolioPre.Produto == null) { throw new ArgumentException("(CRM) Erro de dados: O campo Produto obrigatório não preenchido em Portifolio do produto"); } if (ProdPortfolioPre.Portfolio == null) { throw new ArgumentException("(CRM) Erro de dados: O campo Portfolio obrigatório não preenchido em Portifolio do produto"); } if (ProdPortfolio.Produto == null) { ProdPortfolio.Produto = new Lookup(ProdPortfolioPre.Produto.Id, ProdPortfolioPre.Produto.Type); } if (ProdPortfolio.Portfolio == null) { ProdPortfolio.Portfolio = new Lookup(ProdPortfolioPre.Portfolio.Id, ProdPortfolioPre.Portfolio.Type); } Domain.Model.Portfolio portfolio = RepositoryService.Portfolio.Retrieve(ProdPortfolio.Portfolio.Id); Domain.Model.Product produto = RepositoryService.Produto.Retrieve(ProdPortfolio.Produto.Id); if (portfolio == null) { throw new ArgumentException("(CRM) Portfólio não encontrado"); } if (produto == null) { throw new ArgumentException("(CRM) Produto não encontrado"); } if (portfolio.Tipo == (int)Domain.Enum.Portfolio.Tipo.Solucao) { if (portfolio.UnidadeNegocio.Id == produto.UnidadeNegocio.Id) { throw new ArgumentException("(CRM) Para portfólios do tipo Solução a únidade de negócios do produto não pode ser igual a do portfólio."); } } else { if (portfolio.UnidadeNegocio.Id != produto.UnidadeNegocio.Id) { throw new ArgumentException("(CRM) O Produto e o Portfolio não estão na mesma Unidade de Negócio."); } } }
public static DataAccess.Model.Products MapProduct(Domain.Model.Product data_products) { return(new DataAccess.Model.Products() { ProductId = data_products.ProductId, ProductName = data_products.ProductName, Cost = data_products.Cost }); // constructor requires a string name and a price }
/// <summary> /// Method to update the quantity available for a product at a specific store location /// </summary> /// <param name="productId"></param> /// <param name="locationId"></param> /// <param name="newUpdatedQuantity"></param> /// <returns></returns> //public Domain.Model.Inventory UpdateTheQuantity(int productId, int locationId, int newUpdatedQuantity) //{ // var inventoryAvailable = table // .First(i => (i.ProductId == productId) && (i.LocationId == locationId)); // var businessInventory = mapper.Map<Domain.Model.Inventory>(inventoryAvailable); // businessInventory.Quantity = newUpdatedQuantity; // return businessInventory; //} //public void UpdateTheQuantity(Domain.Model.OrderLine orderline, Domain.Model.Product product, Domain.Model.Location location) public void UpdateTheQuantity(int amount, Domain.Model.Product product, int id) { var inventoryAvailableRow = table .First(i => (i.ProductId == product.ProductId) && (i.LocationId == id)); var newInventory = mapper.Map <DataAccess.Model.Inventory>(inventoryAvailableRow); newInventory.Quantity = amount; // change the quantity (given row of prod. and loc. ID) to the quantity in viewmodel _context.Entry(inventoryAvailableRow).CurrentValues.SetValues(newInventory); }
public static Model.Product MapPrduct(Domain.Model.Product product) { return(new Model.Product { ProdId = product.ProdId, ProdName = product.ProdName, ProdDescription = product.ProdDescription, ProdPrice = product.ProdPrice, OrderList = product.OrderList.Select(MapOrderLists).ToList(), StoreInventory = product.StoreInventory.Select(MapStoreInventory).ToList() }); }
public Product(Domain.Model.Product product) { CrossCutting.Raffle.Raffle raffle = new CrossCutting.Raffle.Raffle(); this.Id = product.Id; this.Name = product.Name; this.ShortDescription = product.DescriptionShort; this.Description = product.Description; this.Value = raffle.value(product); this.Order = product.Order; this.Images = new Image().MappingImages(product.Images.ToList()); this.Category = new Category(product.Category); this.Department = new Department(); this.Raffle = new Raffle(product.Raffles.ToList()); }
public bool UpdateProduct(Domain.Model.Product product) { try { var productDbOrject = _cookiesDbContext.Products.First(x => x.ProductId.Equals(product.ProductId)); productDbOrject.Price = product.Price; productDbOrject.ProductName = product.ProductName; productDbOrject.Stock.NumberOfItemsAvailable = product.ProductStocksAvailable; productDbOrject.Stock.NumberOfDefectiveItems = product.ProductStocksDamage; return(_cookiesDbContext.SaveChanges() > 0); } catch (ArgumentNullException ex) { throw ex; } }
private bool CustoAtualFoiModificado(Domain.Model.Product target, Domain.Model.Product pre) { if (target.CustoAtual.HasValue) { if (pre.CustoAtual.HasValue) { if (target.CustoAtual.Value == pre.CustoAtual.Value) { return(false); } } return(true); } else if (pre.CustoAtual.HasValue) { return(true); } return(false); }
public void Teste_AtualizarCamposProduto() { int pagina = 1; bool moreRecords = false; do { var lista = RepositoryService.Produto.ListarTodosProdutos(ref pagina, 500, out moreRecords); foreach (var item in lista) { var produto = new Domain.Model.Product(OrganizationName, IsOffline) { ID = item.ID, EKit = false, ComercializadoForaKit = false, PossuiSubstituto = false, IntegrarNoPlugin = true }; RepositoryService.Produto.Update(produto); } }while (moreRecords); }
public void SaveProduct(Domain.Model.Product product) { _context.Products.Add(product); _context.SaveChanges(); }
public async Task CreateProductAsync(Domain.Model.Product entity) { var persistenceModel = mapper.Map <Persistence.Model.Product>(entity); await repository.CreateAsync(persistenceModel); }
protected override void Execute(IPluginExecutionContext context, IOrganizationServiceFactory serviceFactory, IOrganizationService adminService, IOrganizationService userService) { if (context.Depth > 2) { return; } switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: Entity entidadeAlterada = (Entity)context.InputParameters["Target"]; Domain.Model.Product produto = entidadeAlterada.Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline); //Inserir produto na lista de preço new Intelbras.CRM2013.Domain.Servicos.ListaPrecoService(context.OrganizationName, context.IsExecutingOffline).Persistir(produto); #region SellOut //Verifica se o codigo do produto foi alterado if (produto.Codigo != null) { string resposta; XDocument xmlroot = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Produto", new XElement("Idprodutocrm", produto.ID), new XElement("Idprodutoerp", produto.Codigo), new XElement("Statuscode", 1), new XElement("Statecode", 0) )); string xml = xmlroot.Declaration.ToString() + Environment.NewLine + xmlroot.ToString();; string usuario = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSUser"); string senha = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSPasswd"); bool resultado = new Domain.Servicos.SellOutService(context.OrganizationName, context.IsExecutingOffline).PersistirProdutoSellOut(usuario, senha, xml, out resposta); if (resultado == false) { throw new ArgumentException(resposta); } } #endregion break; case Domain.Enum.Plugin.MessageName.Update: if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { Entity entidadeAlterada1 = (Entity)context.InputParameters["Target"]; Entity entidadePost = (Entity)context.PostEntityImages["imagem"]; Domain.Model.Product produto1 = entidadeAlterada1.Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline); Domain.Model.Product PostProduto = entidadePost.Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline); if (produto1.Status.HasValue && produto1.Status == (int?)Domain.Enum.Produto.StateCode.inativo && produto1.RazaoStatus != null && (int)produto1.RazaoStatus == (int)Domain.Enum.Produto.StatusCode.Descontinuado) { new Domain.Servicos.ProdutoService(context.OrganizationName, context.IsExecutingOffline, serviceFactory).DescontinuarProduto(PostProduto); } if (produto1.IntegrarNoPlugin.HasValue && !produto1.IntegrarNoPlugin.Value) { string ret = new Domain.Servicos.ProdutoService(context.OrganizationName, context.IsExecutingOffline, serviceFactory).IntegracaoBarramento(PostProduto); } #region SellOut //Verifica se o codigo do produto foi alterado if (produto1.Codigo != null || produto1.RazaoStatus.HasValue) { string resposta; XDocument xmlroot = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Produto", new XElement("Idprodutocrm", PostProduto.ID), new XElement("Idprodutoerp", PostProduto.Codigo), new XElement("Statuscode", PostProduto.RazaoStatus), new XElement("Statecode", PostProduto.Status) )); string xml = xmlroot.Declaration.ToString() + Environment.NewLine + xmlroot.ToString();; string usuario = ConfigurationManager.GetSettingValue("SellOutCRMWSUser"); string senha = ConfigurationManager.GetSettingValue("SellOutCRMWSPasswd"); bool resultado = new Domain.Servicos.SellOutService(context.OrganizationName, context.IsExecutingOffline).PersistirProdutoSellOut(usuario, senha, xml, out resposta); if (resultado == false) { throw new ArgumentException(resposta); } } #endregion } break; case Domain.Enum.Plugin.MessageName.SetStateDynamicEntity: if (context.PostEntityImages.Contains("imagem") && context.PostEntityImages["imagem"] is Entity && context.PreEntityImages.Contains("imagem") && context.PreEntityImages["imagem"] is Entity) { var ProdutoPre = ((Entity)context.PreEntityImages["imagem"]).Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline, serviceFactory); var ProdutoPos = ((Entity)context.PostEntityImages["imagem"]).Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline, serviceFactory); #region SellOut if (ProdutoPre.Status != ProdutoPos.Status) { string resposta; XDocument xmlroot = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Produto", new XElement("Idprodutocrm", ProdutoPos.ID), new XElement("Statecode", ProdutoPos.Status) )); string xml = xmlroot.Declaration.ToString() + Environment.NewLine + xmlroot.ToString();; string usuario = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSUser"); string senha = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSPasswd"); bool resultado = new Domain.Servicos.SellOutService(context.OrganizationName, context.IsExecutingOffline).PersistirProdutoSellOut(usuario, senha, xml, out resposta); if (resultado == false) { throw new ArgumentException(resposta); } } #endregion } break; } }
public ProductViewModel(Domain.Model.Product product) { Name = product.Name; Price = string.Format("{0:C}", product.UnitPrice); UnitsInStock = product.UnitsInStock; }
public void Add(Domain.Model.Product item) { throw new NotImplementedException(); }
public void Execute(IServiceProvider serviceProvider) { var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(null); ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); if (context.Depth > 2) { return; } try { switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { Entity entidadeAlterada = (Entity)context.InputParameters["Target"]; Domain.Model.Product produto = entidadeAlterada.Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline); #region SellOut //Verifica se o codigo do produto foi alterado if (produto.Codigo != null) { string resposta; XDocument xmlroot = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Produto", new XElement("Idprodutocrm", produto.ID), new XElement("Idprodutoerp", produto.Codigo), new XElement("Statuscode", produto.RazaoStatus), new XElement("Statecode", produto.Status), new XElement("DescricaoProduto", produto.Descricao) )); string xml = xmlroot.Declaration.ToString() + Environment.NewLine + xmlroot.ToString();; string usuario = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSUser"); string senha = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSPasswd"); bool resultado = new Domain.Servicos.SellOutService(context.OrganizationName, context.IsExecutingOffline).PersistirProdutoSellOut(usuario, senha, xml, out resposta); if (resultado == false) { throw new ArgumentException(resposta); } } #endregion } break; case Domain.Enum.Plugin.MessageName.Update: if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { Entity entidadeAlterada = (Entity)context.InputParameters["Target"]; Entity entidadePost = (Entity)context.PostEntityImages["imagem"]; Domain.Model.Product produto = entidadeAlterada.Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline); Domain.Model.Product PostProduto = entidadePost.Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline); if (produto.Status.HasValue && produto.Status == (int?)Domain.Enum.Produto.StateCode.inativo && produto.RazaoStatus != null && (int)produto.RazaoStatus == (int)Domain.Enum.Produto.StatusCode.Descontinuado) { new Domain.Servicos.ProdutoService(context.OrganizationName, context.IsExecutingOffline, service).DescontinuarProduto(PostProduto); } if (produto.IntegrarNoPlugin.HasValue && !produto.IntegrarNoPlugin.Value) { string ret = new Domain.Servicos.ProdutoService(context.OrganizationName, context.IsExecutingOffline, service).IntegracaoBarramento(PostProduto); } #region SellOut //Verifica se o codigo do produto foi alterado if (produto.Codigo != null || produto.RazaoStatus.HasValue) { string resposta; XDocument xmlroot = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Produto", new XElement("Idprodutocrm", PostProduto.ID), new XElement("Idprodutoerp", PostProduto.Codigo), new XElement("Statuscode", PostProduto.RazaoStatus), new XElement("Statecode", PostProduto.Status), new XElement("DescricaoProduto", PostProduto.Descricao) )); string xml = xmlroot.Declaration.ToString() + Environment.NewLine + xmlroot.ToString();; string usuario = ConfigurationManager.GetSettingValue("SellOutCRMWSUser"); string senha = ConfigurationManager.GetSettingValue("SellOutCRMWSPasswd"); bool resultado = new Domain.Servicos.SellOutService(context.OrganizationName, context.IsExecutingOffline).PersistirProdutoSellOut(usuario, senha, xml, out resposta); if (resultado == false) { throw new ArgumentException(resposta); } } #endregion } break; case Domain.Enum.Plugin.MessageName.SetStateDynamicEntity: if (context.PostEntityImages.Contains("imagem") && context.PostEntityImages["imagem"] is Entity && context.PreEntityImages.Contains("imagem") && context.PreEntityImages["imagem"] is Entity) { var ProdutoPre = ((Entity)context.PreEntityImages["imagem"]).Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline, service); var ProdutoPos = ((Entity)context.PostEntityImages["imagem"]).Parse <Domain.Model.Product>(context.OrganizationName, context.IsExecutingOffline, service); #region SellOut if (ProdutoPre.Status != ProdutoPos.Status) { string resposta; XDocument xmlroot = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Produto", new XElement("Idprodutocrm", ProdutoPos.ID), new XElement("Statecode", ProdutoPos.Status) )); string xml = xmlroot.Declaration.ToString() + Environment.NewLine + xmlroot.ToString();; string usuario = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSUser"); string senha = SDKore.Configuration.ConfigurationManager.GetSettingValue("SellOutCRMWSPasswd"); bool resultado = new Domain.Servicos.SellOutService(context.OrganizationName, context.IsExecutingOffline).PersistirProdutoSellOut(usuario, senha, xml, out resposta); if (resultado == false) { throw new ArgumentException(resposta); } } #endregion } break; } } catch (Exception ex) { trace.Trace(SDKore.Helper.Error.GetMessageError(ex)); string message = SDKore.Helper.Error.Handler(ex); throw new InvalidPluginExecutionException(message, ex); } }
//private readonly OrdersRepository _orderRepo; /// <summary> /// Returns the order to be added to the database, given product and order details, and product quantity /// </summary> /// <param name="orderId"></param> /// <param name="productId"></param> /// <param name="quantity"></param> /// <returns></returns> //this works! add an orderline: //public pamela_soulis_project1.Domain.Model.OrderLine AddingANewOrderLine(Domain.Model.OrderLine orderline, Domain.Model.Product product, Domain.Model.Orders order) //don't need this anymore public pamela_soulis_project1.Domain.Model.OrderLine AddingANewOrderLine(Domain.Model.OrderLine orderline, Domain.Model.Product product, int theNewOrderIdToEnter) { var theOrderToBeAdded = new pamela_soulis_project1.Domain.Model.OrderLine { OrderId = theNewOrderIdToEnter, ProductId = product.ProductId, Quantity = orderline.Quantity }; //var theOrderToBeAdded = new pamela_soulis_project1.Domain.Model.OrderLine { OrderId = order.OrderId, ProductId = product.ProductId, Quantity = orderline.Quantity }; //don't need this anymore return(theOrderToBeAdded); }
public bool Remove(Domain.Model.Product item) { throw new NotImplementedException(); }