public List<ProductModel> GetProduct(ProductModel product) { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Product .Where(x => x.Description.ToLower() .Contains(product.Description.ToLower())) .Select(x => new ProductModel { Id = x.Id, Description = x.Description, IdUnit = x.IdUnit.Value, DescriptionUnit = x.UnitMeasure.Description, FreeProduct = x.Free == null ? false : x.Free.Value }) .ToList(); } } catch (Exception) { throw; } }
public List<ProductModel> SaveProduct(ProductModel product) { try { List<ProductModel> result = new List<ProductModel>(); using (FacturandoEntities context = new FacturandoEntities()) { var productTemp = context.Product.Where(x => x.Id == product.Id).FirstOrDefault(); if (productTemp == null) { context.Product.Add(new Product { Id = product.Id, Description = product.Description, IdUnit = product.IdUnit, Free = product.FreeProduct }); } else { productTemp.Description = product.Description; productTemp.IdUnit = product.IdUnit; productTemp.Free = product.FreeProduct; } context.SaveChanges(); result.Add(product); return result; } } catch (Exception) { throw; } }
public long GetRemissionNumber() { try { long result = 0; using (FacturandoEntities context = new FacturandoEntities()) { RemissionModel remission = context.Remission.OrderByDescending(x => x.RemissionNumber).Select(x => new RemissionModel { RemissionNumber = x.RemissionNumber }).FirstOrDefault(); if (remission != null) { result = remission.RemissionNumber + 1; } else { result = 1; }; return result; } } catch (Exception) { throw; } }
public List<ClientViewModel> GetClients() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Client .Select(x => new ClientViewModel { IdentificationType = x.IdentificacionType.Description, IdentificationNumber = x.IdentificationNumber, Adress = x.Address, DiscountPercent = x.DisccountPercent, Email = x.Email, Name = x.Name, Phone = x.Phone, DateEvent = x.DateEvent != null ? x.DateEvent.Value : DateTime.MinValue }).ToList(); } } catch (Exception) { throw; } }
public List<ClientModel> GetClientList(ClientModel client) { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Client .Where(x => x.IdIdentificationType == client.IdIdentificationType && x.IdentificationNumber.Equals(client.IdentificationNumber)) .Select(x => new ClientModel { Id = x.Id, IdentificationNumber = x.IdentificationNumber, IdIdentificationType = x.IdIdentificationType.Value, Adress = x.Address, DiscountPercent = x.DisccountPercent, Email = x.Email, Name = x.Name, Phone = x.Phone, DateEvent = x.DateEvent != null ? x.DateEvent.Value : DateTime.MinValue }).ToList(); } } catch (Exception) { throw; } }
public List<ConfigurationModel> SaveConfiguration(List<ConfigurationModel> configurationList) { try { var configurationUpdateList = configurationList.Where(x => !x.IsNewRegister).ToList(); var configurationNewList = configurationList.Where(x => x.IsNewRegister).ToList(); using (FacturandoEntities context = new FacturandoEntities()) { foreach (var item in configurationUpdateList) { ConfigurationSystem configurationModelTemp = context.ConfigurationSystem .Where(x => x.Id == item.Id) .FirstOrDefault(); configurationModelTemp.IdCountry = item.IdCountry; configurationModelTemp.IdCurrency = item.IdCurrency; configurationModelTemp.OperationsInitDate = item.OperationsInitDate; configurationModelTemp.FiscalYear = item.FiscalYear; configurationModelTemp.AuthorizedBillingInit = item.AuthorizedBillingInit; configurationModelTemp.AuthorizedBillingEnd = item.AuthorizedbillingEnd; } foreach (var item in configurationNewList) { context.ConfigurationSystem.Add(new ConfigurationSystem { Id = item.Id, FiscalYear = item.FiscalYear, OperationsInitDate = item.OperationsInitDate, AuthorizedBillingEnd = item.AuthorizedbillingEnd, AuthorizedBillingInit = item.AuthorizedBillingInit, IdCountry = item.IdCountry, IdCurrency = item.IdCurrency }); } context.SaveChanges(); return context.ConfigurationSystem.Select(x => new ConfigurationModel { Id = x.Id, AuthorizedbillingEnd = x.AuthorizedBillingEnd, AuthorizedBillingInit = x.AuthorizedBillingInit, FiscalYear = x.FiscalYear, IdCountry = x.IdCountry.Value, IdCurrency = x.IdCurrency.Value, OperationsInitDate = x.OperationsInitDate }).ToList(); } } catch (Exception) { throw; } }
public ClientModel GetClient(ClientModel client) { try { ClientModel result = new ClientModel(); using (FacturandoEntities context = new FacturandoEntities()) { if (!string.IsNullOrEmpty(client.Name)) { result = context.Client .Where(x => x.Name.ToLower().Contains(client.Name.ToLower())) .Select(x => new ClientModel { Id = x.Id, IdentificationNumber = x.IdentificationNumber, IdIdentificationType = x.IdIdentificationType.Value, Adress = x.Address, DiscountPercent = x.DisccountPercent, Email = x.Email, Name = x.Name, Phone = x.Phone, DateEvent = x.DateEvent != null ? x.DateEvent.Value : DateTime.MinValue }).ToList().FirstOrDefault(); } else { result = context.Client .Where(x => x.IdIdentificationType == client.IdIdentificationType && x.IdentificationNumber.Equals(client.IdentificationNumber)) .Select(x => new ClientModel { Id = x.Id, IdentificationNumber = x.IdentificationNumber, IdIdentificationType = x.IdIdentificationType.Value, Adress = x.Address, DiscountPercent = x.DisccountPercent, Email = x.Email, Name = x.Name, Phone = x.Phone, DateEvent = x.DateEvent != null ? x.DateEvent.Value : DateTime.MinValue }).ToList().FirstOrDefault(); } return result; } } catch (Exception) { throw; } }
public List<InventoryModel> GetInventory(string barCode, string productName) { try { using (FacturandoEntities context = new FacturandoEntities()) { List<InventoryModel> result = new List<InventoryModel>(); if (!string.IsNullOrEmpty(barCode)) { result = new List<InventoryModel>(); InventoryDetail inventoryDetailTemp = context.InventoryDetail .Where(x => x.BarCodeData.ToLower().Equals(barCode.ToLower())) .FirstOrDefault(); Inventory inventoryTemp = inventoryDetailTemp != null ? inventoryDetailTemp.Inventory : null; if (inventoryTemp != null) { result.Add(new InventoryModel { Id = inventoryTemp.Id, IdProduct = inventoryTemp.IdProduct.Value, Product = string.Concat(inventoryTemp.Product.Description, " ", inventoryTemp.Product.UnitMeasure.Description), Quantity = inventoryTemp.Quantity, LastSalePrice = inventoryTemp.LastSalePrice != null ? inventoryTemp.LastSalePrice.Value : 0, FreeProduct = inventoryTemp.Product.Free == null ? false : inventoryTemp.Product.Free.Value }); } } if (!string.IsNullOrEmpty(productName)) { result = context.Inventory .Where(x => x.Product.Description.ToLower().Contains(productName.ToLower())) .Select(x => new InventoryModel { Id = x.Id, IdProduct = x.IdProduct.Value, Product = string.Concat(x.Product.Description, " ", x.Product.UnitMeasure.Description), Quantity = x.Quantity, LastSalePrice = x.LastSalePrice != null ? x.LastSalePrice.Value : 0, FreeProduct = x.Product.Free == null ? false : x.Product.Free.Value }).ToList(); } return result; } } catch (Exception) { throw; } }
public bool ClientExists(ClientModel client) { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Client.Any(x => x.IdentificationNumber.Equals(client.IdentificationNumber)); } } catch (Exception) { throw; } }
public List<CountryModel> GetCountryList() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Country.Select(x => new CountryModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public List<ProductModel> GetProducts() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Product.Select(x => new ProductModel { Description = x.Description, DescriptionUnit = x.UnitMeasure.Description }).ToList(); } } catch (Exception) { throw; } }
public UserModel GetUser(UserModel user) { try { using (FacturandoEntities context = new FacturandoEntities()) { var result = context.User .Where(x => x.Login.Equals(user.Login) && x.Password.Equals(user.Password)) .Select(x => new UserModel { Id = x.Id, Login = x.Login, Password = x.Password, DateEvent = x.DateEvent }).FirstOrDefault(); if (result != null) { result.Roles = context.UserRol.Where(x => x.IdUser == result.Id).Select(x => new RolModel { Id = x.IdRol.Value, RolName = x.Rol.Description }).ToList(); if (result.Roles != null) { foreach (var rol in result.Roles) { rol.ActionList = context.RolAction.Where(x => x.IdRol == rol.Id).Select(x => x.Action.Description).ToList(); rol.ModuleList = context.RolModule.Where(x => x.IdRol == rol.Id).Select(x => x.Module.Description).ToList(); } } } return result; } } catch (Exception) { throw; } }
public List<ClientModel> SaveClient(List<ClientModel> clientList) { try { using (FacturandoEntities context = new FacturandoEntities()) { foreach (var item in clientList) { var clientTemp = context.Client.Where(x => x.Id == item.Id).FirstOrDefault(); if (clientTemp == null) { context.Client.Add(new Client { Id = item.Id, Address = item.Adress, DateEvent = item.DateEvent, DisccountPercent = item.DiscountPercent, Email = item.Email, IdIdentificationType = item.IdIdentificationType, IdentificationNumber = item.IdentificationNumber, Name = item.Name, Phone = item.Phone }); } else { clientTemp.Address = item.Adress; clientTemp.DisccountPercent = item.DiscountPercent; clientTemp.Email = item.Email; clientTemp.Name = item.Name; clientTemp.Phone = item.Phone; } } context.SaveChanges(); return clientList; } } catch (Exception) { throw; } }
public List<InventoryModel> GetInventory() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Inventory.Select(x => new InventoryModel { Id = x.Id, IdProduct = x.IdProduct.Value, LastSalePrice = x.LastSalePrice.Value, Product = string.Concat(x.Product.Description, " ", x.Product.UnitMeasure.Description), Quantity = x.Quantity }).OrderBy(x => x.Quantity).ToList(); } } catch (Exception) { throw; } }
public List<BillTaxesModel> GetBillTaxes() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.Tax.Select(x => new BillTaxesModel { Id = Guid.NewGuid(), IdTax = x.Id, Description = x.Description, PercentageValue = x.PercentageValue, Total = 0 }).ToList(); } } catch (Exception) { throw; } }
public List<ConfigurationModel> GetConfigurationList() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.ConfigurationSystem.Select(x => new ConfigurationModel { Id = x.Id, FiscalYear = x.FiscalYear, AuthorizedbillingEnd = x.AuthorizedBillingEnd, AuthorizedBillingInit = x.AuthorizedBillingInit, IdCountry = x.IdCountry.Value, IdCurrency = x.IdCurrency.Value, OperationsInitDate = x.OperationsInitDate }).ToList(); } } catch (Exception) { throw; } }
public RemissionSaveModel GetRemissionData(RemissionModel remission) { try { using (FacturandoEntities context = new FacturandoEntities()) { RemissionSaveModel result = new RemissionSaveModel(); result.Remission = remission; result.RemissionDetail = context.RemissionDetail .Where(x => x.IdRemission == result.Remission.Id) .Select(x => new RemissionDetailModel { Id = x.Id, IdRemission = x.IdRemission.Value, IdProduct = x.IdProduct.Value, Product = string.Concat(x.Product.Description, " ", x.Product.UnitMeasure.Description), Quantity = x.Quantity, Total = x.Total, UnitPrice = x.UnitPrice }).ToList(); result.Client = context.Client .Where(x => x.Id == result.Remission.IdClient) .Select(x => new ClientModel { Id = x.Id, Adress = x.Address, DateEvent = x.DateEvent != null ? x.DateEvent.Value : DateTime.MinValue, DiscountPercent = x.DisccountPercent, Email = x.Email, IdentificationNumber = x.IdentificationNumber, IdIdentificationType = x.IdIdentificationType.Value, Name = x.Name, Phone = x.Phone }).FirstOrDefault(); return result; } } catch (Exception) { throw; } }
public RemissionSaveModel SaveRemission(RemissionSaveModel remission) { try { using (FacturandoEntities context = new FacturandoEntities()) { if (remission.Client.IsNew) { // verificar nuevamente si el cliente realmente no existe var clientValidate = context.Client .Where(x => x.IdIdentificationType == remission.Client.IdIdentificationType && x.IdentificationNumber.Equals(remission.Client.IdentificationNumber)).FirstOrDefault(); if (clientValidate == null) { context.Client.Add(new Client { Address = remission.Client.Adress, DisccountPercent = remission.Client.DiscountPercent, Email = remission.Client.Email, Id = remission.Client.Id, IdIdentificationType = remission.Client.IdIdentificationType, IdentificationNumber = remission.Client.IdentificationNumber, Name = remission.Client.Name, Phone = remission.Client.Phone, DateEvent = DateTime.Now }); } else { remission.Client.Id = clientValidate.Id; remission.Remission.IdClient = clientValidate.Id; } } context.Remission.Add(new Remission { Id = remission.Remission.Id, RemissionNumber = remission.Remission.RemissionNumber, IdClient = remission.Remission.IdClient, Total = remission.Remission.Total, DateEvent = remission.Remission.DateEvent }); foreach (var item in remission.RemissionDetail) { context.RemissionDetail.Add(new RemissionDetail { Id = item.Id, IdRemission = item.IdRemission, IdProduct = item.IdProduct, Quantity = item.Quantity, UnitPrice = item.UnitPrice, Total = item.Total }); } context.SaveChanges(); return remission; } } catch (Exception) { throw; } }
public List<InventoryLocationModel> SaveInventoryLocation(List<InventoryLocationModel> locations) { try { var locationUpdateList = locations.Where(x => !x.IsNewRegister).ToList(); var locationNewList = locations.Where(x => x.IsNewRegister).ToList(); using (FacturandoEntities context = new FacturandoEntities()) { foreach (var item in locationUpdateList) { InventoryLocation locationTemp = context.InventoryLocation .Where(x => x.Id == item.Id) .FirstOrDefault(); locationTemp.Description = item.Description; } foreach (var item in locationNewList) { context.InventoryLocation.Add(new InventoryLocation { Id = item.Id, Description = item.Description }); } context.SaveChanges(); return context.InventoryLocation.Select(x => new InventoryLocationModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public List<IdentificationTypeModel> SaveIdentificationType(List<IdentificationTypeModel> identificationTypes) { try { var identificationUpdateList = identificationTypes.Where(x => !x.IsNewRegister).ToList(); var identificationNewList = identificationTypes.Where(x => x.IsNewRegister).ToList(); using (FacturandoEntities context = new FacturandoEntities()) { foreach (var item in identificationUpdateList) { IdentificacionType identificationTemp = context.IdentificacionType .Where(x => x.Id == item.Id) .FirstOrDefault(); identificationTemp.Description = item.Description; } foreach (var item in identificationNewList) { context.IdentificacionType.Add(new IdentificacionType { Id = item.Id, Description = item.Description }); } context.SaveChanges(); return context.IdentificacionType.Select(x => new IdentificationTypeModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public List<IdentificationTypeModel> GetIdentificationType() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.IdentificacionType.Select(x => new IdentificationTypeModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public List<UnitMeasureModel> GetUnitMeasureList() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.UnitMeasure.Select(x => new UnitMeasureModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public BillSaveModel GetBillData(BillModel bill) { try { using (FacturandoEntities context = new FacturandoEntities()) { BillSaveModel result = new BillSaveModel(); result.Bill = bill; result.BillDetail = context.BillDetail .Where(x => x.IdBill == result.Bill.Id) .Select(x => new BillDetailModel { Id = x.Id, IdBill = x.IdBill, IdProduct = x.IdProduct.Value, Product = string.Concat(x.Product.Description, " ", x.Product.UnitMeasure.Description), Quantity = x.Quantity, Total = x.Total, UnitPrice = x.UnitPrice != null ? x.UnitPrice.Value : 0 }).ToList(); result.Client = context.Client .Where(x => x.Id == result.Bill.IdClient) .Select(x => new ClientModel { Id = x.Id, Adress = x.Address, DateEvent = x.DateEvent != null ? x.DateEvent.Value : DateTime.MinValue, DiscountPercent = x.DisccountPercent, Email = x.Email, IdentificationNumber = x.IdentificationNumber, IdIdentificationType = x.IdIdentificationType.Value, Name = x.Name, Phone = x.Phone }).FirstOrDefault(); result.BillTaxes = context.BillTaxes .Where(x => x.IdBill == result.Bill.Id) .Select(x => new BillTaxesModel { Id = x.Id, Description = x.Tax.Description, IdBill = x.IdBill.Value, IdTax = x.IdTax.Value, PercentageValue = x.Tax.PercentageValue, Total = x.Total }).ToList(); return result; } } catch (Exception) { throw; } }
public List<BillModel> GetBillList(long billNumber, string identificationNumber, DateTime? initDate, DateTime? endDate) { try { using (FacturandoEntities context = new FacturandoEntities()) { List<BillModel> result = null; if (billNumber > 0) { result = context.Bill .Where(x => x.BillNumber == billNumber) .Select(x => new BillModel { BillNumber = x.BillNumber, CancelDate = x.CancelDate, DateEvent = x.DateEvent.Value, Id = x.Id, IdClient = x.IdClient.Value, IsCanceled = x.IsCanceled != null ? x.IsCanceled.Value : false, Total = x.Total, IdentificationNumber = x.Client.IdentificationNumber, Name = x.Client.Name, TotalTaxes = x.BillTaxes.Sum(y => y.Total), SubTotal = x.Total - x.BillTaxes.Sum(y => y.Total) }).OrderBy(x => x.BillNumber).ToList(); } if (!string.IsNullOrEmpty(identificationNumber)) { result = context.Bill .Where(x => x.Client.IdentificationNumber.Equals(identificationNumber)) .Select(x => new BillModel { BillNumber = x.BillNumber, CancelDate = x.CancelDate, DateEvent = x.DateEvent.Value, Id = x.Id, IdClient = x.IdClient.Value, IsCanceled = x.IsCanceled != null ? x.IsCanceled.Value : false, Total = x.Total, IdentificationNumber = x.Client.IdentificationNumber, Name = x.Client.Name, TotalTaxes = x.BillTaxes.Sum(y => y.Total), SubTotal = x.Total - x.BillTaxes.Sum(y => y.Total) }).OrderBy(x => x.BillNumber).ToList(); } if (initDate != null && endDate != null) { result = context.Bill .Where(x => x.DateEvent.Value >= initDate && x.DateEvent.Value <= endDate) .Select(x => new BillModel { BillNumber = x.BillNumber, CancelDate = x.CancelDate, DateEvent = x.DateEvent.Value, Id = x.Id, IdClient = x.IdClient.Value, IsCanceled = x.IsCanceled != null ? x.IsCanceled.Value : false, Total = x.Total, IdentificationNumber = x.Client.IdentificationNumber, Name = x.Client.Name, TotalTaxes = x.BillTaxes.Sum(y => y.Total), SubTotal = x.Total - x.BillTaxes.Sum(y => y.Total) }).OrderBy(x => x.BillNumber).ToList(); } return result; } } catch (Exception) { throw; } }
public BillSaveModel SaveBill(BillSaveModel bill) { try { using (FacturandoEntities context = new FacturandoEntities()) { if (bill.Client.IsNew) { // verificar nuevamente si el cliente realmente no existe var clientValidate = context.Client .Where(x => x.IdIdentificationType == bill.Client.IdIdentificationType && x.IdentificationNumber.Equals(bill.Client.IdentificationNumber)).FirstOrDefault(); if (clientValidate == null) { context.Client.Add(new Client { Address = bill.Client.Adress, DisccountPercent = bill.Client.DiscountPercent, Email = bill.Client.Email, Id = bill.Client.Id, IdIdentificationType = bill.Client.IdIdentificationType, IdentificationNumber = bill.Client.IdentificationNumber, Name = bill.Client.Name, Phone = bill.Client.Phone, DateEvent = DateTime.Now }); } else { bill.Client.Id = clientValidate.Id; bill.Bill.IdClient = clientValidate.Id; } } context.Bill.Add(new Bill { Id = bill.Bill.Id, BillNumber = bill.Bill.BillNumber, IdClient = bill.Bill.IdClient, Total = bill.Bill.Total, DateEvent = bill.Bill.DateEvent }); foreach (var item in bill.BillDetail) { context.BillDetail.Add(new BillDetail { Id = item.Id, IdBill = item.IdBill, IdProduct = item.IdProduct, Quantity = item.Quantity, UnitPrice = item.UnitPrice, Total = item.Total }); } foreach (var item in bill.BillTaxes) { context.BillTaxes.Add(new BillTaxes { Id = item.Id, IdBill = item.IdBill, IdTax = item.IdTax, Total = item.Total }); } context.SaveChanges(); return bill; } } catch (Exception) { throw; } }
public long GetBillNumber() { try { long result = 0; using (FacturandoEntities context = new FacturandoEntities()) { ConfigurationSystem lastConfiguration = context.ConfigurationSystem .OrderByDescending(x => x.OperationsInitDate) .FirstOrDefault(); BillModel bill = context.Bill.OrderByDescending(x => x.BillNumber).Select(x => new BillModel { BillNumber = x.BillNumber }).FirstOrDefault(); if (lastConfiguration != null) { if (bill != null) { result = bill.BillNumber + 1; if (!(result >= lastConfiguration.AuthorizedBillingInit && result <= lastConfiguration.AuthorizedBillingEnd)) { result = lastConfiguration.AuthorizedBillingInit; } } else { result = lastConfiguration.AuthorizedBillingInit; }; } else { result = 0; } return result; } } catch (Exception) { throw; } }
public List<UnitMeasureModel> SaveUnitMeasure(List<UnitMeasureModel> unitMeasures) { try { var unitUpdateList = unitMeasures.Where(x => !x.IsNewRegister).ToList(); var unitNewList = unitMeasures.Where(x => x.IsNewRegister).ToList(); using (FacturandoEntities context = new FacturandoEntities()) { foreach (var item in unitUpdateList) { UnitMeasure unitTemp = context.UnitMeasure .Where(x => x.Id == item.Id) .FirstOrDefault(); unitTemp.Description = item.Description; } foreach (var item in unitNewList) { context.UnitMeasure.Add(new UnitMeasure { Id = item.Id, Description = item.Description }); } context.SaveChanges(); return context.UnitMeasure.Select(x => new UnitMeasureModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public List<InventoryLocationModel> GetInventoryLocationList() { try { using (FacturandoEntities context = new FacturandoEntities()) { return context.InventoryLocation.Select(x => new InventoryLocationModel { Id = x.Id, Description = x.Description }).ToList(); } } catch (Exception) { throw; } }
public List<RemissionModel> GetRemissionList(long remissionNumber, string identificationNumber, DateTime? initDate, DateTime? endDate) { try { using (FacturandoEntities context = new FacturandoEntities()) { List<RemissionModel> result = null; if (remissionNumber > 0) { result = context.Remission .Where(x => x.RemissionNumber == remissionNumber) .Select(x => new RemissionModel { RemissionNumber = x.RemissionNumber, DateEvent = x.DateEvent.Value, Id = x.Id, IdClient = x.IdClient.Value, Total = x.Total, IdentificationNumber = x.Client.IdentificationNumber, Name = x.Client.Name }).ToList(); } if (!string.IsNullOrEmpty(identificationNumber)) { result = context.Remission .Where(x => x.Client.IdentificationNumber.Equals(identificationNumber)) .Select(x => new RemissionModel { RemissionNumber = x.RemissionNumber, DateEvent = x.DateEvent.Value, Id = x.Id, IdClient = x.IdClient.Value, Total = x.Total, IdentificationNumber = x.Client.IdentificationNumber, Name = x.Client.Name }).ToList(); } if (initDate != null && endDate != null) { result = context.Remission .Where(x => x.DateEvent.Value >= initDate && x.DateEvent.Value <= endDate) .Select(x => new RemissionModel { RemissionNumber = x.RemissionNumber, DateEvent = x.DateEvent.Value, Id = x.Id, IdClient = x.IdClient.Value, Total = x.Total, IdentificationNumber = x.Client.IdentificationNumber, Name = x.Client.Name }).ToList(); } return result; } } catch (Exception) { throw; } }
public List<BillModel> CancelBill(List<BillModel> billList) { try { DateTime cancelDate = DateTime.Now; using (FacturandoEntities context = new FacturandoEntities()) { InventoryInterface inventoryData = new InventoryData(); var inventoryTypeList = inventoryData.GetInventoryType(); InventoryTypeModel inventoryTypeIn = inventoryTypeList.Where(x => x.Description.Equals("Devolución Cliente")).FirstOrDefault(); InventoryTypeModel inventoryTypeOut = inventoryTypeList.Where(x => x.Description.Equals("Venta")).FirstOrDefault(); foreach (var item in billList) { var billTemp = context.Bill.Where(x => x.Id == item.Id).FirstOrDefault(); // Simon Ariza - 10-03-2016 - inventory affect if (billTemp.IsCanceled != item.IsCanceled) { var billDetailTemp = context.BillDetail.Where(x => x.IdBill == item.Id).ToList(); foreach (var billProduct in billDetailTemp) { InventoryModel inventoryTemp = inventoryData.GetInventoryByProductId(billProduct.IdProduct.Value); InventoryDetailModel inventoryDetailTemp = inventoryData.GetLastInventoryDetailInByProductId(billProduct.IdProduct.Value); InventorySaveModel inventorySaveTemp = new InventorySaveModel { Inventory = inventoryTemp, InventoryDetail = inventoryDetailTemp }; if (item.IsCanceled) // inventory in { inventorySaveTemp.InventoryDetail.IdInventoryType = inventoryTypeIn.Id; } else // inventory out { inventorySaveTemp.InventoryDetail.IdInventoryType = inventoryTypeOut.Id; } inventorySaveTemp.InventoryDetail.Quantity = billProduct.Quantity; inventoryData.SaveInventory(inventorySaveTemp); } } //fin cambio if (item.IsCanceled) { billTemp.IsCanceled = item.IsCanceled; billTemp.CancelDate = cancelDate; item.CancelDate = cancelDate; } else { billTemp.IsCanceled = item.IsCanceled; billTemp.CancelDate = null; item.CancelDate = null; } } context.SaveChanges(); return billList; } } catch (Exception) { throw; } }