Пример #1
0
 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;
     }
 }
Пример #2
0
 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;
     }
 }
Пример #3
0
        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;
            }
        }
Пример #4
0
 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;
     }
 }
Пример #5
0
 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;
            }
        }
Пример #7
0
        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;
            }
        }
Пример #8
0
        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;
            }
        }
Пример #9
0
 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;
     }
 }
Пример #11
0
 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;
     }
 }
Пример #12
0
        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;
            }
        }
Пример #13
0
 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;
     }
 }
Пример #14
0
 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;
     }
 }
Пример #15
0
        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;
     }
 }
Пример #17
0
        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;
            }
        }
Пример #18
0
        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;
            }
        }
Пример #21
0
 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;
     }
 }
Пример #23
0
        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;
            }
        }
Пример #24
0
        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;
            }
        }
Пример #25
0
        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;
            }
        }
Пример #26
0
        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;
     }
 }
Пример #29
0
        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;
            }
        }
Пример #30
0
        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;
            }
        }