public async Task <JsonResult> GetInventarios()
        {
            var idSucursales = await _context.Sucursales.FromSqlRaw("SELECT * FROM Sucursal").ToListAsync();

            var response = new List <InventarioResponse>();

            foreach (Sucursal sucursal in idSucursales)
            {
                var productos = await _context.Inventarios.FromSqlInterpolated($"SELECT * FROM Inventario WHERE Sucursal ={sucursal.id}").ToListAsync();

                var infoProductos = new List <InventarioProducto>();
                foreach (Inventario prod in productos)
                {
                    var infoProd = await _context.Productos.FindAsync(prod.Producto);

                    var obj = new InventarioProducto();
                    obj.idProducto     = infoProd.id;
                    obj.nombreProducto = infoProd.Nombre;
                    obj.cantidad       = prod.Cantidad;
                    infoProductos.Add(obj);
                }
                var inv = new InventarioResponse();
                inv.idSucursal     = sucursal.id;
                inv.nombreSucursal = sucursal.Nombre;
                inv.Productos      = infoProductos;
                response.Add(inv);
            }
            return(new JsonResult(response));
        }
Пример #2
0
        public async Task <IActionResult> PostIngresoProducto([FromBody] IngresoProducto ingresoProducto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var sn = factory.OpenSession())
            {
                using (var tx = sn.BeginTransaction())
                {
                    try
                    {
                        ingresoProducto.FechaCreacion = DateTime.Now;

                        sn.Save(ingresoProducto);

                        foreach (var item in ingresoProducto.Items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == ingresoProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            if (inventario == null)
                            {
                                sn.Save(new InventarioProducto
                                {
                                    IdAlmacen  = ingresoProducto.Almacen.IdAlmacen,
                                    IdProducto = item.Producto.IdProducto,
                                    Stock      = (item.Cantidad * item.Factor)
                                });
                            }
                            else
                            {
                                inventario.Stock = inventario.Stock + (item.Cantidad * item.Factor);
                            }

                            item.IdIngresoProducto = ingresoProducto.IdIngresoProducto;

                            sn.Save(item);
                        }

                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        await tx.RollbackAsync();

                        return(StatusCode(500, ex.Message));
                    }
                }
            }

            return(Ok(true));
        }
Пример #3
0
        public async Task <IActionResult> DeleteIngresoProducto([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var sn = factory.OpenSession())
            {
                using (var tx = sn.BeginTransaction())
                {
                    try
                    {
                        IngresoProducto ingresoProducto = sn.Get <IngresoProducto>(id);

                        List <ItemIngresoProducto> items = await sn.Query <ItemIngresoProducto>()
                                                           .Where(x => x.IdIngresoProducto == id)
                                                           .ToListAsync();

                        foreach (var item in items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == ingresoProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            if (inventario != null && inventario.Stock >= (item.Cantidad * item.Factor))
                            {
                                inventario.Stock = inventario.Stock - (item.Cantidad * item.Factor);
                            }
                            else
                            {
                                throw new Exception("Sin stock para el producto: " + item.Producto.Nombre);
                            }
                        }

                        sn.Delete(string.Format("FROM ItemIngresoProducto WHERE IdIngresoProducto = {0}", id));

                        sn.Delete(ingresoProducto);

                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        await tx.RollbackAsync();

                        return(StatusCode(500, ex.Message));
                    }
                }
            }

            return(Ok(true));
        }
Пример #4
0
        public async Task <IActionResult> PostSalidaProducto([FromBody] SalidaProducto salidaProducto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var sn = factory.OpenSession())
            {
                using (var tx = sn.BeginTransaction())
                {
                    try
                    {
                        salidaProducto.FechaCreacion = DateTime.Now;

                        sn.Save(salidaProducto);

                        foreach (var item in salidaProducto.Items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == salidaProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            if (inventario != null && inventario.Stock >= (item.Cantidad * item.Factor))
                            {
                                inventario.Stock = inventario.Stock - (item.Cantidad * item.Factor);
                            }
                            else
                            {
                                throw new Exception("Sin stock para el producto: " + item.Producto.Nombre);
                            }

                            item.IdSalidaProducto = salidaProducto.IdSalidaProducto;

                            sn.Save(item);
                        }

                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        await tx.RollbackAsync();

                        return(StatusCode(500, ex.Message));
                    }
                }
            }

            return(Ok(true));
        }
        public async Task <Respuesta <IProductoCompuestoDTO> > ActualizarProducto(IProductoCompuestoDTO producto)
        {
            return(await new Wrapper <IProductoCompuestoDTO>().EjecutarTransaccionAsync(async() =>
            {
                InventarioProducto inventario = await contexto.InventarioProducto
                                                .FirstOrDefaultAsync(pro => pro.IdProducto == producto.IdProducto);

                inventario.Cantidad = producto.Cantidad;

                contexto.Entry(mapper.Map <Producto>(producto)).State = EntityState.Modified;
                contexto.Entry(inventario).State = EntityState.Modified;
                await contexto.SaveChangesAsync();
                return FabricaRespuesta <IProductoCompuestoDTO> .RespuestaEdicionExitosa(new List <IProductoCompuestoDTO> {
                    producto
                });
            }, async() => await FabricaRespuesta <IProductoCompuestoDTO> .RespuestaFallida(Mensajes.ErrorEnEdición)));
        }
Пример #6
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Usuarios>(Usuario => {
                Usuario.ToTable("Usuarios");
                Usuario.HasKey("UsuarioId");
            });
            modelBuilder.Entity <Proveedores>(Proveedor => {
                Proveedor.ToTable("Proveedores");
                Proveedor.HasKey("ProveedorId");
            });

            modelBuilder.Entity <Productos>(Producto => {
                Producto.ToTable("Productos");
                Producto.HasKey("ProductoId");
            });

            modelBuilder.Entity <Inventarios>(Inventario => {
                Inventario.ToTable("Inventarios");
                Inventario.HasKey("InventarioId");
            });

            modelBuilder.Entity <InvProdModel>(InventarioProducto => {
                InventarioProducto.ToTable("ProductosInventario");
                InventarioProducto.HasKey("ProdInventId");
            });

            modelBuilder.Entity <Schedulers>(Scheduler => {
                Scheduler.ToTable("btScheduler");
                Scheduler.HasKey("SchedulerId");
            });

            modelBuilder.Entity <Enable>(Enabled => {
                Enabled.ToTable("btEnabler");
                Enabled.HasKey("EnablerId");
            });

            modelBuilder.Entity <Monitoreo>(Monitor => {
                Monitor.ToTable("btMonitoreo");
                Monitor.HasKey("MonitorId");
            });

            base.OnModelCreating(modelBuilder);
        }
Пример #7
0
        public async Task <JsonResult> getPedidoDetalles(int id)
        {
            var orden = await _context.Pedido.FindAsync(id);

            if (orden == null)
            {
                return(new JsonResult(new { mensaje = "No se encontro ninguna orden con ese id" }));
            }
            var sucursalOrigen = await _context.Sucursales.FindAsync(orden.SucursalOrigen);

            var sucursalDestino = await _context.Sucursales.FindAsync(orden.SucursalDestino);

            var ordenCompleta = new PedidoSucursal();

            ordenCompleta.id              = orden.id;
            ordenCompleta.fechaEntrega    = orden.FechaEntrega;
            ordenCompleta.fechaCreacion   = orden.FechaCreacion;
            ordenCompleta.estado          = orden.Estado;
            ordenCompleta.sucursalOrigen  = sucursalOrigen;
            ordenCompleta.sucursalDestino = sucursalDestino;
            var productos = await _context.DetallePedido.FromSqlRaw($"SELECT * FROM DetallePedido WHERE Pedido={orden.id}").ToListAsync();

            if (productos == null)
            {
                return(new JsonResult(new { mensaje = "No se encontrar con ese id." }));
            }
            var listaProductos = new List <InventarioProducto>();

            foreach (DetallePedido p in productos)
            {
                var detalles = await _context.Productos.FindAsync(p.Producto);

                var prod = new InventarioProducto();
                prod.idProducto     = p.Producto;
                prod.nombreProducto = detalles.Nombre;
                prod.cantidad       = p.Cantidad;

                listaProductos.Add(prod);
            }
            return(new JsonResult(new { PedidoDetalles = ordenCompleta, productos = listaProductos }));
        }
Пример #8
0
        public LinkedList <InventarioProducto> inventarioProductos(int idUsuario, int codigoProducto)
        {
            LinkedList <InventarioProducto> productos = new LinkedList <InventarioProducto>();

            try
            {
                cmd             = new SqlCommand("inventarioProducto", conexion.abrirConexion());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@idUsuario", idUsuario);
                cmd.Parameters.AddWithValue("@codigoProducto", codigoProducto);

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    InventarioProducto inventario = new InventarioProducto();
                    inventario.codigoProducto = int.Parse(reader[0].ToString());
                    inventario.codigoBarras   = int.Parse(reader[1].ToString());
                    inventario.nombreProducto = reader[2].ToString();
                    inventario.cantidad       = int.Parse(reader[3].ToString());
                    inventario.precio         = double.Parse(reader[4].ToString());
                    inventario.bodega         = int.Parse(reader[5].ToString());
                    inventario.pasillo        = int.Parse(reader[6].ToString());
                    inventario.letra          = reader[7].ToString();
                    inventario.nivel          = int.Parse(reader[8].ToString());
                    inventario.costeo         = reader[9].ToString();
                    inventario.logica         = reader[10].ToString();

                    productos.AddLast(inventario);
                }
            }
            catch (Exception e)
            {
                return(null);
            }


            return(productos);
        }
        public async Task <Respuesta <IProductoCompuestoDTO> > CrearProducto(IProductoCompuestoDTO producto)
        {
            return(await new Wrapper <IProductoCompuestoDTO>().EjecutarTransaccionAsync(async() =>
            {
                Producto nuevoProducto = mapper.Map <Producto>(producto);
                contexto.Add(nuevoProducto);
                await contexto.SaveChangesAsync();

                InventarioProducto inventario = new InventarioProducto()
                {
                    IdProducto = nuevoProducto.IdProducto,
                    Cantidad = producto.Cantidad
                };
                contexto.Add(inventario);
                await contexto.SaveChangesAsync();
                producto.IdInventario = inventario.IdInventario;
                producto.IdProducto = nuevoProducto.IdProducto;

                return FabricaRespuesta <IProductoCompuestoDTO> .RespuestaCreacionExitosa(new List <IProductoCompuestoDTO> {
                    producto
                });
            }, async() => await FabricaRespuesta <IProductoCompuestoDTO> .RespuestaFallida(Mensajes.ErrorEnCreacion)));
        }
        public async Task <JsonResult> GetInventario(int id)
        {
            var sucursal = await _context.Sucursales.FindAsync(id);

            var inv = new InventarioResponse();

            if (sucursal == null)
            {
                return(new JsonResult(new { mensaje = "No se encontro ninguna sucursal con ese id" }));
            }
            else
            {
                var productos = await _context.Inventarios.FromSqlInterpolated($"SELECT * FROM Inventario WHERE Sucursal ={sucursal.id}").ToListAsync();

                var infoProductos = new List <InventarioProducto>();
                foreach (Inventario prod in productos)
                {
                    Console.WriteLine($"---------- Producto id { prod.id } -----------------");
                    var infoProd = await _context.Productos.FindAsync(prod.Producto);

                    if (infoProd != null)
                    {
                        var obj = new InventarioProducto();
                        obj.idProducto     = infoProd.id;
                        obj.nombreProducto = infoProd.Nombre;
                        obj.cantidad       = prod.Cantidad;
                        infoProductos.Add(obj);
                    }
                }
                inv.idSucursal     = sucursal.id;
                inv.nombreSucursal = sucursal.Nombre;
                inv.Productos      = infoProductos;
            }

            return(new JsonResult(inv));
        }
Пример #11
0
        public async Task <IActionResult> DeleteSalidaProducto([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var sn = factory.OpenSession())
            {
                using (var tx = sn.BeginTransaction())
                {
                    try
                    {
                        SalidaProducto salidaProducto = sn.Get <SalidaProducto>(id);

                        List <ItemSalidaProducto> items = await sn.Query <ItemSalidaProducto>()
                                                          .Where(x => x.IdSalidaProducto == id)
                                                          .ToListAsync();

                        foreach (var item in items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == salidaProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            inventario.Stock = inventario.Stock + (item.Cantidad * item.Factor);
                        }

                        sn.Delete(string.Format("FROM ItemSalidaProducto WHERE IdSalidaProducto = {0}", id));

                        if (salidaProducto.IdPedido != null)
                        {
                            Pedido pedido = sn.Get <Pedido>(salidaProducto.IdPedido);

                            pedido.FechaEntrega = null;

                            if (pedido.Pago == 0)
                            {
                                pedido.Estado = Constantes.Pendiente;
                            }
                            else if (pedido.Pago == pedido.Total)
                            {
                                pedido.Estado = Constantes.Pagado;
                            }
                            else if (pedido.Pago < pedido.Total)
                            {
                                pedido.Estado = Constantes.PagoParcial;
                            }
                        }

                        sn.Delete(salidaProducto);

                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        await tx.RollbackAsync();

                        return(StatusCode(500, ex.Message));
                    }
                }
            }

            return(Ok(true));
        }
Пример #12
0
        public async Task <IActionResult> Entregar([FromBody] SalidaProducto salidaProducto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var sn = factory.OpenSession())
            {
                using (var tx = sn.BeginTransaction())
                {
                    try
                    {
                        Pedido pedido = sn.Get <Pedido>(salidaProducto.IdPedido);

                        pedido.FechaEntrega = DateTime.Now;
                        pedido.Estado       = Constantes.Entregado;

                        SalidaProducto salidaProductoBD = new SalidaProducto();

                        salidaProductoBD.FechaCreacion = DateTime.Now;
                        salidaProductoBD.Usuario       = salidaProducto.Usuario;
                        salidaProductoBD.Almacen       = salidaProducto.Almacen;
                        salidaProductoBD.Comentario    = "GENERADO DESDE PEDIDO";
                        salidaProductoBD.IdPedido      = salidaProducto.IdPedido;

                        sn.Save(salidaProductoBD);

                        List <ItemPedido> items = sn.Query <ItemPedido>()
                                                  .Where(x => x.IdPedido == pedido.IdPedido)
                                                  .ToList();

                        foreach (var item in items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == salidaProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            if (inventario != null && inventario.Stock >= (item.Cantidad * item.Factor))
                            {
                                inventario.Stock = inventario.Stock - (item.Cantidad * item.Factor);
                            }
                            else
                            {
                                throw new Exception("Sin stock para el producto: " + item.Producto.Nombre);
                            }

                            sn.Save(new ItemSalidaProducto {
                                IdSalidaProducto = salidaProductoBD.IdSalidaProducto,
                                Producto         = item.Producto,
                                Unidad           = item.Unidad,
                                Factor           = item.Factor,
                                Cantidad         = item.Cantidad
                            });
                        }

                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        await tx.RollbackAsync();

                        return(StatusCode(500, ex.Message));
                    }
                }
            }

            return(Ok(true));
        }
Пример #13
0
        public async Task <IActionResult> PutIngresoProducto([FromRoute] int id, [FromBody] IngresoProducto ingresoProducto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != ingresoProducto.IdIngresoProducto)
            {
                return(BadRequest());
            }

            using (var sn = factory.OpenSession())
            {
                using (var tx = sn.BeginTransaction())
                {
                    try
                    {
                        var items = sn.Query <ItemIngresoProducto>()
                                    .Where(x => x.IdIngresoProducto == id)
                                    .ToList();

                        foreach (var item in items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == ingresoProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            if (inventario != null && inventario.Stock >= (item.Cantidad * item.Factor))
                            {
                                inventario.Stock = inventario.Stock - (item.Cantidad * item.Factor);
                            }
                            else
                            {
                                return(StatusCode(500, "Sin stock para el producto: " + item.Producto.Nombre));
                            }
                        }

                        sn.Delete(string.Format("FROM ItemIngresoProducto WHERE IdIngresoProducto = {0}", id));

                        foreach (var item in ingresoProducto.Items)
                        {
                            InventarioProducto inventario = await sn.Query <InventarioProducto>()
                                                            .Where(x => x.IdAlmacen == ingresoProducto.Almacen.IdAlmacen &&
                                                                   x.IdProducto == item.Producto.IdProducto)
                                                            .FirstOrDefaultAsync();

                            if (inventario == null)
                            {
                                sn.Save(new InventarioProducto
                                {
                                    IdAlmacen  = ingresoProducto.Almacen.IdAlmacen,
                                    IdProducto = item.Producto.IdProducto,
                                    Stock      = (item.Cantidad * item.Factor)
                                });
                            }
                            else
                            {
                                inventario.Stock = inventario.Stock + (item.Cantidad * item.Factor);
                            }

                            item.IdIngresoProducto = id;

                            sn.Save(item);
                        }

                        IngresoProducto ingresoProductoBD = sn.Get <IngresoProducto>(id);

                        ingresoProductoBD.IdLote     = ingresoProducto.IdLote;
                        ingresoProductoBD.Usuario    = ingresoProductoBD.Usuario;
                        ingresoProductoBD.Comentario = ingresoProducto.Comentario;

                        await tx.CommitAsync();
                    }
                    catch (Exception ex)
                    {
                        await tx.RollbackAsync();

                        return(StatusCode(500, ex.Message));
                    }
                }
            }

            return(Ok(true));
        }
Пример #14
0
        protected override void Seed(MetroUIPrueba2.Models.MooduContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.


            //TABLAS SIN FOREIGN KEY
            Areas ar1 = new Areas()
            {
                Descripcion = "Gerencia"
            };
            Areas ar2 = new Areas()
            {
                Descripcion = "Insumo"
            };
            Areas ar3 = new Areas()
            {
                Descripcion = "Produccion"
            };

            context.Areas.Add(ar1);
            context.Areas.Add(ar2);
            context.Areas.Add(ar3);
            context.SaveChanges();

            Roles rol1 = new Roles()
            {
                Descripcion = "Administrador"
            };
            Roles rol2 = new Roles()
            {
                Descripcion = "Supervisor"
            };
            Roles rol3 = new Roles()
            {
                Descripcion = "Trabajador"
            };

            context.Roles.Add(rol1);
            context.Roles.Add(rol2);
            context.Roles.Add(rol3);
            context.SaveChanges();

            Usuario us1 = new Usuario()
            {
                NombreUsuario = "Roberto123",
                Password      = "******"
            };
            Usuario us2 = new Usuario()
            {
                NombreUsuario = "Batman1234",
                Password      = "******"
            };
            Usuario us3 = new Usuario()
            {
                NombreUsuario = "roro",
                Password      = "******"
            };

            context.Usuarios.Add(us1);
            context.Usuarios.Add(us2);
            context.Usuarios.Add(us3);
            context.SaveChanges();

            UsuarioInterno usi1 = new UsuarioInterno()
            {
                NombreUsuario = "nfncv",
                Password      = "******"
            };
            UsuarioInterno usi2 = new UsuarioInterno()
            {
                NombreUsuario = "yrttr",
                Password      = "******"
            };
            UsuarioInterno usi3 = new UsuarioInterno()
            {
                NombreUsuario = "hgfhg",
                Password      = "******"
            };
            UsuarioInterno usi4 = new UsuarioInterno()
            {
                NombreUsuario = "dster",
                Password      = "******"
            };

            context.UsuarioInterno.Add(usi1);
            context.UsuarioInterno.Add(usi2);
            context.UsuarioInterno.Add(usi3);
            context.UsuarioInterno.Add(usi4);
            context.SaveChanges();

            Almacen a1 = new Almacen()
            {
                Descripcion = "Almacen Muebles de Produccion",
                Ubicacion   = "Sector G, Bodega Principal",
                Observacion = "Sin Observacion"
            };
            Almacen a2 = new Almacen()
            {
                Descripcion = "Almacen Muebles Diseño",
                Ubicacion   = "Sector H, Bodega Principal",
                Observacion = "Sin Observacion"
            };
            Almacen a3 = new Almacen()
            {
                Descripcion = "Almacen de Insumos",
                Ubicacion   = "Sector A, Interior Fabrica",
                Observacion = "Sin Observacion"
            };

            context.Almacenes.Add(a1);
            context.Almacenes.Add(a2);
            context.Almacenes.Add(a3);
            context.SaveChanges();

            TipoProducto tp1 = new TipoProducto()
            {
                Nombre      = "Closet",
                Descripcion = "Mueble para guardar ropa"
            };
            TipoProducto tp2 = new TipoProducto()
            {
                Nombre      = "Cama",
                Descripcion = "Mueble de habitacion"
            };
            TipoProducto tp3 = new TipoProducto()
            {
                Nombre      = "Comedor",
                Descripcion = "Mueble de Cocina"
            };
            TipoProducto tp4 = new TipoProducto()
            {
                Nombre      = "Comoda",
                Descripcion = "Mueble de habitacion usado para guardar ropa"
            };

            context.TipoProducto.Add(tp1);
            context.TipoProducto.Add(tp2);
            context.TipoProducto.Add(tp3);
            context.TipoProducto.Add(tp4);
            context.SaveChanges();

            //CatergoriaInsumo cti1 = new CatergoriaInsumo()
            //{
            //    Descripcion = "Materia Prima"
            //};
            //CatergoriaInsumo cti2 = new CatergoriaInsumo()
            //{
            //    Descripcion = "Pinturas"
            //};
            //CatergoriaInsumo cti3 = new CatergoriaInsumo()
            //{
            //    Descripcion = "Accesorios"
            //};
            //context.CategoriaInsumo.Add(cti1);
            //context.CategoriaInsumo.Add(cti2);
            //context.CategoriaInsumo.Add(cti3);
            //context.SaveChanges();

            MedioPago mp1 = new MedioPago()
            {
                Descripcion      = "tarjeta credito",
                EntidadComercial = "Banco Estado"
            };
            MedioPago mp2 = new MedioPago()
            {
                Descripcion      = "tarjeta debito",
                EntidadComercial = "Banco Estado"
            };

            context.MedioPago.Add(mp1);
            context.MedioPago.Add(mp2);;
            context.SaveChanges();

            Recurso re1 = new Recurso()
            {
                Descripcion = "Madera de Pino",
                Umedida     = "m"
            };
            Recurso re2 = new Recurso()
            {
                Descripcion = "Tela Sintetica",
                Umedida     = "m"
            };
            Recurso re3 = new Recurso()
            {
                Descripcion = "Relleno de lana",
                Umedida     = "m*3"
            };

            context.Recurso.Add(re1);
            context.Recurso.Add(re2);
            context.Recurso.Add(re3);
            context.SaveChanges();

            // TABLAS CON FOREIGN KEY

            Empleado em1 = new Empleado()
            {
                Rut              = "10897213-1",
                Nombres          = "Juan Alberto",
                Apellidos        = "Camaño Perez",
                Direccion        = "Arturo Prat # 2285",
                Telefono         = "9-98765342",
                Correo           = "*****@*****.**",
                Cargo            = "Control Produccion",
                AreaId           = ar3.Id,
                UsuarioInternoId = usi1.Id
            };
            Empleado em2 = new Empleado()
            {
                Rut              = "10358692-1",
                Nombres          = "Manuel Bernardo",
                Apellidos        = "Pellegrini Cortez",
                Direccion        = "Arturo Prat # 2315",
                Telefono         = "9-65832142",
                Correo           = "*****@*****.**",
                Cargo            = "Supervisor",
                AreaId           = ar2.Id,
                UsuarioInternoId = usi2.Id
            };
            Empleado em3 = new Empleado()
            {
                Rut              = "19999000-2",
                Nombres          = "Arturo Ignacio",
                Apellidos        = "Vidal Benitez",
                Direccion        = "Manuel Bulnes # 555",
                Telefono         = "9-1111111",
                Correo           = "*****@*****.**",
                Cargo            = "Gerente",
                AreaId           = ar1.Id,
                UsuarioInternoId = usi3.Id
            };
            Empleado em4 = new Empleado()
            {
                Rut              = "14071986-k",
                Nombres          = "Marcelo Andres",
                Apellidos        = "Placencia Velasquez",
                Direccion        = "Igancio Serrano # 1500",
                Telefono         = "9-4444231",
                Correo           = "*****@*****.**",
                Cargo            = "Ensamblador",
                AreaId           = ar3.Id,
                UsuarioInternoId = usi4.Id
            };

            context.Empleado.Add(em1);
            context.Empleado.Add(em2);
            context.Empleado.Add(em3);
            context.Empleado.Add(em4);
            context.SaveChanges();

            Cliente cl1 = new Cliente()
            {
                Nombres   = "Roberto Carlos",
                Apellidos = "Rojas Ascencio",
                Correo    = "*****@*****.**",
                Telefono  = 94444231,
                Rut       = "14074567-k",
                UsuarioId = us1.Id
            };
            Cliente cl2 = new Cliente()
            {
                Nombres   = "Juan Pedro",
                Apellidos = "Perez Merea",
                Correo    = "*****@*****.**",
                Telefono  = 94444231,
                Rut       = "12074437-k",
                UsuarioId = us2.Id
            };
            Cliente cl3 = new Cliente()
            {
                Nombres   = "Sebastian Rodolfo",
                Apellidos = "Mella Prieto",
                Correo    = "*****@*****.**",
                Telefono  = 94444231,
                Rut       = "14567543-1",
                UsuarioId = us3.Id
            };

            context.Clientes.Add(cl1);
            context.Clientes.Add(cl2);
            context.Clientes.Add(cl3);
            context.SaveChanges();

            AsignaRoles asig1 = new AsignaRoles()
            {
                EmpleadoId = em1.Id,
                RolId      = rol1.Id
            };
            AsignaRoles asig2 = new AsignaRoles()
            {
                EmpleadoId = em2.Id,
                RolId      = rol2.Id
            };

            context.AsignaRoles.Add(asig1);
            context.AsignaRoles.Add(asig2);
            context.SaveChanges();

            //estas son closets
            Producto p1 = new Producto()
            {
                Codigo         = "pd-01",
                Fecha          = new DateTime(2020, 6, 10),
                Precio         = 650000,
                Imagen         = "/pics/closets/closet_02_por.jpg",
                Descripcion    = "La descripcion",
                Estado         = "Produccion",
                TipoProductoId = tp1.Id
            };
            Producto p2 = new Producto()
            {
                Codigo         = "pd-02",
                Fecha          = new DateTime(2020, 6, 10),
                Precio         = 450000,
                Imagen         = "/pics/closets/closet_05_por.jpg",
                Descripcion    = "La descripcion2",
                Estado         = "Produccion",
                TipoProductoId = tp1.Id
            };
            Producto p3 = new Producto()
            {
                Codigo         = "pd-03",
                Fecha          = new DateTime(2020, 6, 10),
                Precio         = 350000,
                Imagen         = "/pics/closets/closet_01_por.jpg",
                Descripcion    = "La descripcion3",
                Estado         = "Produccion",
                TipoProductoId = tp1.Id
            };
            Producto p4 = new Producto()
            {
                Codigo         = "pd-04",
                Fecha          = new DateTime(2020, 6, 10),
                Precio         = 250000,
                Imagen         = "/pics/closets/closet_04_por.jpg",
                Descripcion    = "La descripcion4",
                Estado         = "Produccion",
                TipoProductoId = tp1.Id
            };

            context.Producto.Add(p1);
            context.Producto.Add(p2);
            context.Producto.Add(p3);
            context.Producto.Add(p4);
            context.SaveChanges();

            InventarioProducto ip1 = new InventarioProducto()
            {
                Fecha       = new DateTime(2020, 2, 10),
                Cantidad    = 32,
                Critico     = 10,
                Observacion = "fdfkjsdfkf",
                AlmacenId   = a1.Id,
                ProductoId  = p1.Id
            };
            InventarioProducto ip2 = new InventarioProducto()
            {
                Fecha       = new DateTime(2020, 2, 10),
                Cantidad    = 45,
                Critico     = 10,
                Observacion = "fdfkjsdfkf",
                AlmacenId   = a1.Id,
                ProductoId  = p1.Id
            };
            InventarioProducto ip3 = new InventarioProducto()
            {
                Fecha       = new DateTime(2020, 2, 10),
                Cantidad    = 15,
                Critico     = 5,
                Observacion = "fdfkjsdfkf",
                AlmacenId   = a1.Id,
                ProductoId  = p1.Id
            };
            InventarioProducto ip4 = new InventarioProducto()
            {
                Fecha       = new DateTime(2020, 2, 10),
                Cantidad    = 13,
                Critico     = 5,
                Observacion = "fdfkjsdfkf",
                AlmacenId   = a2.Id,
                ProductoId  = p3.Id
            };
            InventarioProducto ip5 = new InventarioProducto()
            {
                Fecha       = new DateTime(2020, 6, 12),
                Cantidad    = 8,
                Critico     = 5,
                Observacion = "fdfkjsdfkf",
                AlmacenId   = a2.Id,
                ProductoId  = p3.Id
            };
            InventarioProducto ip6 = new InventarioProducto()
            {
                Fecha       = new DateTime(2020, 6, 12),
                Cantidad    = 23,
                Critico     = 10,
                Observacion = "fdfkjsdfkf",
                AlmacenId   = a1.Id,
                ProductoId  = p4.Id
            };

            context.InventarioProductos.Add(ip1);
            context.InventarioProductos.Add(ip2);
            context.InventarioProductos.Add(ip3);
            context.InventarioProductos.Add(ip4);
            context.InventarioProductos.Add(ip5);
            context.InventarioProductos.Add(ip6);
            context.SaveChanges();

            Proveedor pr1 = new Proveedor()
            {
                Razon            = "Empresas de Insumos S.A",
                Rut              = "65.452.123-k",
                Direccion        = "Los avedules # 456",
                Telefono         = "+56 9 86425787",
                Email            = "*****@*****.**",
                Contacto         = "Juan Medina Garces",
                Comuna           = "Concepcion",
                UsuarioInternoId = usi1.Id
            };
            Proveedor pr2 = new Proveedor()
            {
                Razon            = "Empresas de Insumos1 S.A",
                Rut              = "70.444.666-k",
                Direccion        = "Anibal Pinto # 456",
                Telefono         = "+56 9 55555555",
                Email            = "*****@*****.**",
                Contacto         = "Bernardo Silva Medina",
                Comuna           = "Santiago",
                UsuarioInternoId = usi2.Id
            };

            context.Proveedor.Add(pr1);
            context.Proveedor.Add(pr2);
            context.SaveChanges();



            //Insumo i1 = new Insumo()
            //{

            //    Descripcion = "Manillas de Comodas",
            //    Umedida = "C/U",
            //    CategoriaId = cti3.Id,
            //    UsuarioInternoId = usi1.Id
            //};
            //Insumo i2 = new Insumo()
            //{

            //    Descripcion = "Manillas de Roperos",
            //    Umedida = "C/U",
            //    CategoriaId = cti3.Id,
            //    UsuarioInternoId = usi2.Id
            //};
            //Insumo i3 = new Insumo()
            //{

            //    Descripcion = "Barniz Cafe Cipres",
            //    Umedida = "Galon",
            //    CategoriaId = cti2.Id,
            //    UsuarioInternoId = usi3.Id
            //};
            //context.Insumo.Add(i1);
            //context.Insumo.Add(i2);
            //context.Insumo.Add(i3);
            //context.SaveChanges();

            //Pago pa1 = new Pago()
            //{
            //    Num_orden = 12,
            //    Total = 120000,
            //    Fecha = new DateTime(2020, 2, 25),
            //    MedioPagoId = mp1.Id
            //};

            //Pago pa2 = new Pago()
            //{
            //    Num_orden = 132,
            //    Total = 1200000,
            //    Fecha = new DateTime(2020, 2, 25),
            //    MedioPagoId = mp1.Id
            //};

            //Pago pa3 = new Pago()
            //{
            //    Num_orden = 11,
            //    Total = 100000,
            //    Fecha = new DateTime(2020, 2, 25),
            //    MedioPagoId = mp2.Id
            //};
            //context.Pago.Add(pa1);
            //context.Pago.Add(pa2);
            //context.Pago.Add(pa3);
            //context.SaveChanges();

            ClienteProducto cp1 = new ClienteProducto()
            {
                NumOrden   = 145,
                Cantidad   = 12,
                Fecha      = new DateTime(2020, 6, 10),
                ProductoId = p1.Id,
                ClienteId  = cl1.Id
                             //PagoId = pa1.Id
            };

            ClienteProducto cp2 = new ClienteProducto()
            {
                NumOrden   = 122,
                Cantidad   = 10,
                Fecha      = new DateTime(2020, 6, 10),
                ProductoId = p2.Id,
                ClienteId  = cl2.Id
                             //PagoId = pa2.Id
            };

            ClienteProducto cp3 = new ClienteProducto()
            {
                NumOrden   = 111,
                Cantidad   = 3,
                Fecha      = new DateTime(2020, 6, 10),
                ProductoId = p3.Id,
                ClienteId  = cl3.Id
                             //PagoId = pa3.Id
            };

            //context.ClienteProducto.Add(cp1);
            //context.ClienteProducto.Add(cp2);
            //context.ClienteProducto.Add(cp3);
            context.SaveChanges();

            //InventarioInsumo ii1 = new InventarioInsumo()
            //{

            //    Fecha = new DateTime(2020, 1, 21),
            //    Cantidad = 50,
            //    Critico = 50,
            //    Observacion = "no hay",
            //    AlmacenId = a3.Id,
            //    InsumoId = i2.Id

            //};
            //InventarioInsumo ii2 = new InventarioInsumo()
            //{

            //    Fecha = new DateTime(2020, 1, 21),
            //    Cantidad = 150,
            //    Critico = 50,
            //    Observacion = "no hay",
            //    AlmacenId = a3.Id,
            //    InsumoId = i1.Id
            //};

            //context.InventarioInsumo.Add(ii1);
            //context.InventarioInsumo.Add(ii2);
            //context.SaveChanges();

            //CompraInsumo ci1 = new CompraInsumo()
            //{

            //    Fecha = new DateTime(2020, 2, 25),
            //    Valor = 3000,
            //    Cantidad = 100,
            //    Observacion = "fsfdsdsf",
            //    InsumoId = i1.Id,
            //    ProveedorId = pr1.Id
            //};
            //CompraInsumo ci2 = new CompraInsumo()
            //{
            //    Fecha = new DateTime(2020, 2, 25),
            //    Valor = 2500,
            //    Cantidad = 150,
            //    Observacion = "fsfdsdsf",
            //    InsumoId = i2.Id,
            //    ProveedorId = pr1.Id
            //};
            //context.CompraInsumo.Add(ci1);
            //context.CompraInsumo.Add(ci2);
            //context.SaveChanges();

            //ProveeInsumo pri1 = new ProveeInsumo()
            //{
            //    InsumoId = i2.Id,
            //    ProveedorId = pr1.Id
            //};
            //ProveeInsumo pri2 = new ProveeInsumo()
            //{
            //    InsumoId = i2.Id,
            //    ProveedorId = pr1.Id
            //};
            //context.ProveeInsumo.Add(pri1);
            //context.ProveeInsumo.Add(pri2);
            //context.SaveChanges();
        }
Пример #15
0
        public JsonResult ObtenerInventarioProducto(string FechaIni, string FechaFin, string Producto)
        {
            InventarioProducto pInvProd = _CajasLogica.ObtenerInventarioProducto(FechaIni, FechaFin, Producto);

            return(Json(pInvProd));
        }