public SalesDocService(IServiceProvider serviceProvider, PosDbContext dbContext)
 {
     DbContext       = dbContext;
     ServiceProvider = serviceProvider;
     DbSet           = dbContext.Set <SalesDoc>();
     IdentityService = serviceProvider.GetService <IIdentityService>();
 }
Ejemplo n.º 2
0
 public PosUnitOfWork(PosDbContext context)
 {
     _context                     = context;
     AlmacenesRepository          = new AlmacenesRepository(_context);
     CatalogoSatRepository        = new CatalogoSatRepository(_context);
     ComprasRepository            = new ComprasRepository(_context);
     CortesRepository             = new CortesRepository(_context);
     DepartamentosRepository      = new DepartamentosRepository(_context);
     ImpuestoProductosRepository  = new ImpuestoProductosRepository(_context);
     ImpuestosRepository          = new ImpuestosRepository(_context);
     MarcaRepository              = new MarcaRepository(_context);
     OrdenesRepository            = new OrdenesRepository(_context);
     PantallasRepository          = new PantallasRepository(_context);
     PantallasUsuarioRepository   = new PantallasUsuarioRepository(_context);
     PLUProductoRepository        = new PLUProductosRepository(_context);
     ProductoAlmacenRepository    = new ProductoAlmacenRepository(_context);
     ProductosCompraRepository    = new ProductosCompraRepository(_context);
     ProductosOrdenRepository     = new ProductosOrdenRepository(_context);
     ProductosPromocionRepository = new ProductosPromocionRepository(_context);
     ProductosProveedorRepository = new ProductosProveedorRepository(_context);
     ProductosRepository          = new ProductosRepository(_context);
     ProductosVentaRepository     = new ProductosVentaRepository(_context);
     PromocionesRepository        = new PromocionesRepository(_context);
     ProveedoresRepository        = new ProveedoresRepository(_context);
     RetirosRepository            = new RetirosRepository(_context);
     TipoPagoRepository           = new TipoPagoRepository(_context);
     TipoUsuarioRepository        = new TipoUsuarioRepository(_context);
     TurnosRepository             = new TurnosRepository(_context);
     UnidadesRepository           = new UnidadesRepository(_context);
     UnidadSatRepository          = new UnidadSatRepository(_context);
     UsuariosRepository           = new UsuariosRepository(_context);
     VentaImpuestosRepository     = new VentaImpuestosRepository(_context);
     VentaPagosRepository         = new VentaPagosRepository(_context);
     VentasRepository             = new VentasRepository(_context);
 }
Ejemplo n.º 3
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, PosDbContext dbContext)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            dbContext.Database.EnsureCreated();

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseSession();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Login}/{action=Login}/{id?}");
            });
        }
Ejemplo n.º 4
0
        public bool IsPartyUpdated(Party party)
        {
            PosDbContext db = new PosDbContext();

            db.Parties.Attach(party);
            db.Entry(party).State = EntityState.Modified;
            return(db.SaveChanges() > 0);
        }
Ejemplo n.º 5
0
 public DiscountService(IServiceProvider serviceProvider, PosDbContext dbContext)
 {
     DbContext          = dbContext;
     ServiceProvider    = serviceProvider;
     DbSet              = dbContext.Set <Discount>();
     DbSetDiscountStore = dbContext.Set <DiscountStore>();
     IdentityService    = serviceProvider.GetService <IIdentityService>();
 }
Ejemplo n.º 6
0
        public bool Update(Employee employee)
        {
            PosDbContext db = new PosDbContext();

            db.Employees.Attach(employee);
            db.Entry(employee).State = EntityState.Modified;
            return(db.SaveChanges() > 0);
        }
Ejemplo n.º 7
0
        public bool Update(ExpenseCategory category)
        {
            PosDbContext db = new PosDbContext();

            db.ExpenseCategories.Attach(category);
            db.Entry(category).State = EntityState.Modified;
            return(db.SaveChanges() > 0);
        }
Ejemplo n.º 8
0
        public bool Update(Organization organization)
        {
            PosDbContext db = new PosDbContext();

            db.Organizations.Attach(organization);
            db.Entry(organization).State = EntityState.Modified;
            return(db.SaveChanges() > 0);
        }
Ejemplo n.º 9
0
 public BaseRepository(PosDbContext dbContext)
 {
     if (dbContext == null)
     {
         throw new ArgumentNullException("dbContext");
     }
     Db    = dbContext;
     DbSet = dbContext.Set <T>();
 }
Ejemplo n.º 10
0
        public Documentos Get(Guid id)
        {
            using PosDbContext context = new PosDbContext();
            var Documento = context.Documentos //Indicamos la tabla
                            .Where(x => x.IdDocumento == id)
                            .First();          //Seleccionamos el primero

            return(Documento);
        }
Ejemplo n.º 11
0
 public SalesDocReturnService(IServiceProvider serviceProvider, PosDbContext dbContext, ISalesDocService salesDocService)
 {
     DbContext       = dbContext;
     ServiceProvider = serviceProvider;
     DbSet           = dbContext.Set <SalesDocReturn>();
     DbSetSalesDoc   = dbContext.Set <SalesDoc>();
     DbSetSales      = DbContext.Set <SalesDocDetailReturnItem>();
     salesDocFacade  = salesDocService;
     IdentityService = serviceProvider.GetService <IIdentityService>();
 }
Ejemplo n.º 12
0
        public bool Update(ItemCategory category)
        {
            PosDbContext db = new PosDbContext();

            db.ItemCategories.Attach(category);
            db.Entry(category).State = EntityState.Modified;
            bool isUpdate = db.SaveChanges() > 0;

            return(isUpdate);
        }
Ejemplo n.º 13
0
        public static void SeedHostDb(PosDbContext context)
        {
            context.SuppressAutoSetTenantId = true;

            // Host seed
            new InitialHostDbBuilder(context).Create();

            // Default tenant seed (in host database).
            new DefaultTenantBuilder(context).Create();
            new TenantRoleAndUserBuilder(context, 1).Create();
            new DefaultCustomerBuilder(context).Create();
            new DefaultProductBuilder(context).Create();
        }
        private Customer CustomerGetById(int?id)
        {
            PosDbContext db = new PosDbContext();

            foreach (Customer aCustomer in db.Customers)
            {
                if (aCustomer.id == id)
                {
                    return(aCustomer);
                }
            }
            return(null);
        }
Ejemplo n.º 15
0
        /// <summary>Make a repository of type T.</summary>
        /// <typeparam name="T">Type of repository to make.</typeparam>
        /// <param name="dbContext">
        /// The <see cref="DbContext"/> with which to initialize the repository.
        /// </param>
        /// <param name="factory">
        /// Factory with <see cref="DbContext"/> argument. Used to make the repository.
        /// If null, gets factory from <see cref="_repositoryFactories"/>.
        /// </param>
        /// <returns></returns>
        protected virtual T MakeRepository <T>(Func <PosDbContext, object> factory, PosDbContext dbContext)
        {
            var f = factory ?? _repositoryFactories.GetRepositoryFactory <T>();

            if (f == null)
            {
                throw new NotImplementedException("No factory for repository type, " + typeof(T).FullName);
            }
            var repo = (T)f(dbContext);

            Repositories[typeof(T)] = repo;
            return(repo);
        }
Ejemplo n.º 16
0
        protected BaseController(IOptions <DatabaseSettings> dbSettings, IHostingEnvironment environment)
        {
            DbSettings  = dbSettings;
            Environment = environment;

            //ErpDbContext = new ErpDbContext(DbSettings.Value.ConnString);
            PosDbContext      = new PosDbContext(DbSettings.Value.ConnString);
            SecurityDbContext = new SecurityDbContext(DbSettings.Value.ConnString);
            //ToolsDbContext = new ToolsDbContext(DbSettings.Value.ConnString);

            //PayrollUoW = new PayrollUnitOfWork(ErpDbContext);
            PosUoW      = new PosUnitOfWork(PosDbContext);
            SecurityUoW = new SecurityUnitOfWork(SecurityDbContext);
            //ToolsUoW = new ToolsUnitOfWork(ToolsDbContext);
        }
Ejemplo n.º 17
0
        public Response <Documentos> Post(InvoiceType Documento)
        {
            FactElectronica Fact = new FactElectronica();
            var             Res  = Fact.GeneraDocumentoElectronicoXML(Documento);

            if (Res.CodResponse == "0")
            {
                using (PosDbContext context = new PosDbContext())
                {
                    context.Add(Res.Data);
                    //Guardamos los cambios
                    context.SaveChanges();
                }
            }
            Res.Data.IdTramaNavigation.Documentos = null;
            return(Res);
        }
        public ActionResult Edit(Customer aCustomer)
        {
            PosDbContext db = new PosDbContext();
            Customer     existingCustomer = db.Customers.Find(aCustomer.id);

            if (existingCustomer != null)
            {
                existingCustomer.Name    = aCustomer.Name;
                existingCustomer.Email   = aCustomer.Email;
                existingCustomer.Address = aCustomer.Address;
            }
            if (db.SaveChanges() > 0)
            {
                ViewBag.message = "Customer Updated Sucessfully";
            }

            return(View(existingCustomer));
        }
Ejemplo n.º 19
0
 public DepartamentosRepository(PosDbContext context) : base(context)
 {
 }
Ejemplo n.º 20
0
 public UserRepository(PosDbContext dbContext)
 {
     db = dbContext;
 }
Ejemplo n.º 21
0
 public ProductPremiseRepository(PosDbContext dbContext)
     : base(dbContext)
 {
 }
Ejemplo n.º 22
0
 public PLUProductosRepository(PosDbContext context) : base(context)
 {
 }
Ejemplo n.º 23
0
 public TipoPagoRepository(PosDbContext context) : base(context)
 {
 }
Ejemplo n.º 24
0
 public ProductosProveedorRepository(PosDbContext context) : base(context)
 {
 }
Ejemplo n.º 25
0
 public ProductMovementRepository(PosDbContext dbContext)
     : base(dbContext)
 {
 }
Ejemplo n.º 26
0
 public DefaultProductBuilder(PosDbContext context)
 {
     _context = context;
 }
Ejemplo n.º 27
0
 public DefaultTenantBuilder(PosDbContext context)
 {
     _context = context;
 }
Ejemplo n.º 28
0
 public UnidadSatRepository(PosDbContext context) : base(context)
 {
 }
Ejemplo n.º 29
0
 public ProveedoresRepository(PosDbContext context) : base(context)
 {
 }
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            //if (code == null || code == "")
            //{
            //    yield return new ValidationResult("code is required", new List<string> { "code" });
            //}
            if (store == null || store.Id == 0)
            {
                yield return(new ValidationResult("store is required", new List <string> {
                    "storeId"
                }));
            }
            PosDbContext posDbContext = (PosDbContext)validationContext.GetService(typeof(PosDbContext));

            if (posDbContext.SalesDocs.Where(x => x.Id == Convert.ToInt32(reference)).Count() == 0)
            {
                yield return(new ValidationResult("salesId not Found", new List <string> {
                    "reference"
                }));
            }
            if (salesDetail == null)
            {
                yield return(new ValidationResult("salesDetail is required", new List <string> {
                    "salesDetail"
                }));
            }
            if (salesDetail.paymentType == null || salesDetail.paymentType == "")
            {
                yield return(new ValidationResult("paymentType is required", new List <string> {
                    "paymentType"
                }));
            }
            if (salesDetail.paymentType == "Card" || salesDetail.paymentType == "Partial")
            {
                if (salesDetail.card == null || salesDetail.card == "")
                {
                    yield return(new ValidationResult("card is required", new List <string> {
                        "card"
                    }));
                }
                if (salesDetail.cardType == null || salesDetail.cardType._id == 0)
                {
                    yield return(new ValidationResult("cardType is required", new List <string> {
                        "cardTypeId"
                    }));
                }
                if (salesDetail.bank == null || salesDetail.bank._id == 0)
                {
                    yield return(new ValidationResult("bank is required", new List <string> {
                        "bankId"
                    }));
                }
                if (salesDetail.bankCard == null || salesDetail.bankCard._id == 0)
                {
                    yield return(new ValidationResult("bankCard is required", new List <string> {
                        "bankCardId"
                    }));
                }
                if (string.IsNullOrWhiteSpace(salesDetail.cardNumber))
                {
                    yield return(new ValidationResult("cardNumber is required", new List <string> {
                        "cardNumber"
                    }));
                }
                if (string.IsNullOrWhiteSpace(salesDetail.cardName))
                {
                    yield return(new ValidationResult("bankCard is required", new List <string> {
                        "cardName"
                    }));
                }
            }
            if (date == null)
            {
                yield return(new ValidationResult("date is not valid", new List <string> {
                    "date"
                }));
            }

            int itemErrorCount        = 0;
            int returnitemsErrorCount = 0;

            if (this.items == null || items.Count <= 0)
            {
                yield return(new ValidationResult("item is required", new List <string> {
                    "itemcount"
                }));
            }
            else
            {
                string itemError = "[";
                var    index     = 0;
                foreach (var item in items)
                {
                    index++;
                    itemError += "{";

                    if (item.item.item._id == 0)
                    {
                        itemErrorCount++;
                        itemError += "itemId: 'itemId is required', ";
                    }
                    else
                    {
                        for (var i = index; i < items.Count(); i++)
                        {
                            if (item.item.item._id == items[i].item.item._id)
                            {
                                itemErrorCount++;
                                itemError += "itemId : 'itemId already exists on another detail',";
                            }
                        }
                        var sales = from a in posDbContext.SalesDocs
                                    join b in posDbContext.SalesDocDetails on a.Id equals b.SalesDocId
                                    where a.Id == Convert.ToInt16(reference)
                                    select new { b.ItemId };
                        if (sales.Where(x => x.ItemId == item.item.item._id).Count() == 0)
                        {
                            itemErrorCount++;
                            itemError += "itemId : 'itemId not exists in sales',";
                        }
                    }

                    if (item.quantity == 0)
                    {
                        itemErrorCount++;
                        itemError += "quantity : 'quantity is required',";
                    }
                    else if (item.quantity <= 0)
                    {
                        itemErrorCount++;
                        itemError += "quantity : 'quantity must be greater than 0',";
                    }
                    else
                    {
                        var sales = from a in posDbContext.SalesDocs
                                    join b in posDbContext.SalesDocDetails on a.Id equals b.SalesDocId
                                    where a.Code == reference
                                    select new { b.Quantity, b.ItemId, a.isReturn };
                        foreach (var itemsales in sales)
                        {
                            if (!itemsales.isReturn && itemsales.ItemId == item.item.item._id)
                            {
                                if (item.quantity > itemsales.Quantity)
                                {
                                    itemErrorCount++;
                                    itemError += "quantity : 'quantity must not be greater than sales.Quantity',";
                                }
                            }
                        }
                    }

                    if (item.price == 0)
                    {
                        itemErrorCount++;
                        itemError += "price : 'price is required',";
                    }
                    else if (item.price < 0)
                    {
                        itemErrorCount++;
                        itemError += "price : 'price must be greater than 0',";
                    }

                    if (item.discount1 < 0 || item.discount1 > 100)
                    {
                        itemErrorCount++;
                        itemError += "discount1 : 'discount1 must be greater than 0 or less than 100',";
                    }

                    if (item.discount2 < 0 || item.discount2 > 100)
                    {
                        itemErrorCount++;
                        itemError += "discount2 : 'discount2 must be greater than 0 or less than 100',";
                    }

                    if (item.discountNominal < 0)
                    {
                        itemErrorCount++;
                        itemError += "discountNominal : 'discountNominal must be greater than 0 ',";
                    }
                    if (item.margin < 0)
                    {
                        itemErrorCount++;
                        itemError += "margin : 'margin must be greater than 0 ',";
                    }
                    if (item.specialDiscount < 0)
                    {
                        itemErrorCount++;
                        itemError += "specialDiscount : 'specialDiscount must be greater than 0 ',";
                    }

                    if (item.returnItems == null)
                    {
                        itemErrorCount++;
                        itemError += "returnitems: 'returnitems is required', ";
                    }
                    else
                    {
                        string returnItemErrors = "[";
                        foreach (var i in item.returnItems)
                        {
                            if (i.item._id == 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "itemId: itemId is required";
                            }
                            foreach (var a in items)
                            {
                                foreach (var t in a.returnItems)
                                {
                                    if (i.item._id == a.item.item._id)
                                    {
                                        returnitemsErrorCount++;
                                        returnItemErrors += "itemId : 'itemId already exists on another detail',";
                                    }
                                }
                            }
                            if (i.quantity == 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "quantity : 'quantity is required',";
                            }
                            else if (i.quantity <= 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "quantity : 'quantity must be greater than 0',";
                            }
                            if (i.price == 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "price : 'price is required',";
                            }
                            else if (i.price < 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "price : 'price must be greater than 0',";
                            }
                            if (i.discount1 < 0 || i.discount1 > 100)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "discount1 : 'discount1 must be greater than 0 or less than 100',";
                            }

                            if (i.discount2 < 0 || i.discount2 > 100)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "discount2 : 'discount2 must be greater than 0 or less than 100',";
                            }

                            if (i.discountNominal < 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "discountNominal : 'discountNominal must be greater than 0 ',";
                            }
                            if (i.margin < 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "margin : 'margin must be greater than 0 ',";
                            }
                            if (i.specialDiscount < 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "specialDiscount : 'specialDiscount must be greater than 0 ',";
                            }

                            if (i.quantity > i.stock || i.stock == 0)
                            {
                                returnitemsErrorCount++;
                                returnItemErrors += "quantity : 'Stok Tidak Tersedia ',";
                            }

                            returnItemErrors += "}, ";
                        }
                        returnItemErrors += "]";

                        if (returnitemsErrorCount > 0)
                        {
                            itemErrorCount++;
                            itemError += $"returnItems: {returnItemErrors }, ";
                        }
                    }

                    itemError += "}, ";
                }

                itemError += "]";

                if (itemErrorCount > 0)
                {
                    yield return(new ValidationResult(itemError, new List <string> {
                        "items"
                    }));
                }
            }
        }