Ejemplo n.º 1
0
        public ActionResult ExportarItems()
        {
            EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa);

            ItemBL objBL = new ItemBL();
            List<ItemDTO> lista = objBL.getItemsEnEmpresa(getCurrentUser().IdEmpresa);

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Clear();

            dt.Columns.Add("Nombre");
            dt.Columns.Add("Código");
            dt.Columns.Add("Descripción");
            dt.Columns.Add("Unidad de Medida");
            dt.Columns.Add("Categoría");
            dt.Columns.Add("Moneda");
            dt.Columns.Add("Precio");
            dt.Columns.Add("Estado");

            foreach (var item in lista)
            {
                System.Data.DataRow row = dt.NewRow();
                row["Nombre"] = item.Nombre;
                row["Código"] = item.Codigo;
                row["Descripción"] = item.Descripcion;
                row["Unidad de Medida"] = item.UnidadMedida;
                row["Categoría"] = item.nCategoriaItem;
                row["Moneda"] = item.nMoneda;
                row["Precio"] = item.Precio.GetValueOrDefault().ToString("N2", CultureInfo.InvariantCulture);
                row["Estado"] = item.Estado ? "Activo" : "Inactivo";
                dt.Rows.Add(row);
            }
            
            GenerarPdf5(dt, "Detalle de Items", "Detalle_de_Items", objEmpresa, Response);

            createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_FILE);
            return RedirectToAction("Items", "Admin");
        }
Ejemplo n.º 2
0
        public ActionResult GenerarRep_Movimiento_De_Inventarios(int? idItem, DateTime? FechaInicio, DateTime? FechaFin)
        {
            if (FechaInicio == null || FechaFin == null)
            {
                return RedirectToAction("ReportesInventarios", new { message = 1 });
            }

            EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa);
            
            Reportes_InventariosBL repBL = new Reportes_InventariosBL();
            ItemBL itemBL = new ItemBL();
            ItemDTO item = itemBL.getItemEnEmpresa(objEmpresa.IdEmpresa, idItem.GetValueOrDefault());
            List<MovimientoInvDTO> lstMovs = repBL.Get_Reporte_De_Movimientos_De_Inventarios(idItem.GetValueOrDefault(), objEmpresa.IdEmpresa, FechaInicio.GetValueOrDefault(), FechaFin.GetValueOrDefault());

            if (lstMovs == null)
                return RedirectToAction("ReportesInventarios", new { message = 2 });

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Clear();

            dt.Columns.Add("Fecha");
            dt.Columns.Add("Movimiento");
            dt.Columns.Add("Tipo");
            dt.Columns.Add("Numero Documento");
            dt.Columns.Add("Guia de Remision");
            dt.Columns.Add("Proveedor");
            dt.Columns.Add("Cantidad");
            dt.Columns.Add("Unid Med");
            dt.Columns.Add("Ubicacion");
            dt.Columns.Add("Lote");
            dt.Columns.Add("Stock por Lote");
            dt.Columns.Add("Vencimiento");
            dt.Columns.Add("Comentario");
            dt.Columns.Add("Usuario");

            foreach (var obj in lstMovs)
            {
                DataRow row = dt.NewRow();
                row["Fecha"] = obj.FechaInicial.ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB"));
                row["Movimiento"] = obj.nTipo;
                row["Tipo"] = obj.nForma;
                row["Numero Documento"] = obj.NroDocumento;
                row["Guia de Remision"] = obj.GuiaRemision;
                row["Proveedor"] = obj.nEntidadResponsable;
                row["Cantidad"] = obj.Cantidad;
                row["Unid Med"] = obj.UnidadMedida;
                row["Ubicacion"] = obj.nUbicacion;
                row["Lote"] = obj.SerieLote;
                row["Stock por Lote"] = obj.StockLote;
                row["Vencimiento"] = obj.FechaFin != null ? obj.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-";
                row["Comentario"] = obj.Comentario;
                row["Usuario"] = obj.nUsuario;
                dt.Rows.Add(row);
            }

            GenerarPdf3(dt, "Movimiento por item", "MovimientoPorItem", item.Codigo, item.Nombre, objEmpresa, FechaInicio, FechaFin, Response);

            return RedirectToAction("ReportesInventarios", new { message = 2 });
        }
Ejemplo n.º 3
0
        public ActionResult GenerarRep_Inventarios(DateTime? FechaInicio, DateTime? FechaFin)
        {
            if (FechaInicio == null || FechaFin == null)
            {
                return RedirectToAction("ReportesInventarios", new { message = 1 });
            }

            EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa);

            ItemBL itemBL = new ItemBL();
            List<ItemDTO> lstItems = itemBL.getItemsEnEmpresa(objEmpresa.IdEmpresa);

            Reportes_InventariosBL repBL = new Reportes_InventariosBL();
            List<MovimientoInvDTO> lstInventarios = repBL.Get_Reporte_De_Inventarios(objEmpresa.IdEmpresa, FechaInicio.GetValueOrDefault(), FechaFin.GetValueOrDefault());

            if (lstInventarios == null)
                return RedirectToAction("ReportesInventarios", new { message = 2 });

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Clear();

            dt.Columns.Add("Código");
            dt.Columns.Add("Item");
            dt.Columns.Add("Fecha");
            dt.Columns.Add("Movimiento");
            dt.Columns.Add("Tipo");
            dt.Columns.Add("Numero Documento");
            dt.Columns.Add("Guia de Remision");
            dt.Columns.Add("Entidad");
            dt.Columns.Add("Categoría");
            dt.Columns.Add("Cantidad");
            dt.Columns.Add("Unid Med");
            dt.Columns.Add("Ubicacion");
            dt.Columns.Add("Lote");
            dt.Columns.Add("Stock por Lote");
            dt.Columns.Add("Stock por Item");
            dt.Columns.Add("Vencimiento");
            dt.Columns.Add("Comentario");
            dt.Columns.Add("Usuario");

            foreach (var item in lstItems)
            {
                DataRow row = dt.NewRow();
                row["Código"] = item.Codigo;
                row["Item"] = item.Nombre;
                dt.Rows.Add(row);

                List<MovimientoInvDTO> movsItm = lstInventarios.Where(x => x.nItemCodigo == item.Codigo).ToList();
                foreach (var mov in movsItm)
                {
                    DataRow row1 = dt.NewRow();
                    row1["Fecha"] = mov.FechaInicial.ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB"));
                    //row1["Movimiento"] = mov.IdTipoMovimientoInv == 1 ? "Ingreso" : "Egreso";
                    row1["Movimiento"] = mov.nTipo;
                    row1["Tipo"] = mov.nForma;
                    row1["Numero Documento"] = mov.NroDocumento;
                    row1["Guia de Remision"] = mov.GuiaRemision;
                    row1["Entidad"] = mov.nEntidadResponsable;
                    row1["Categoría"] = mov.nCategoria;
                    row1["Cantidad"] = mov.Cantidad;
                    row1["Unid Med"] = mov.UnidadMedida;
                    row1["Ubicacion"] = mov.nUbicacion;
                    row1["Lote"] = mov.SerieLote;
                    row1["Stock por Lote"] = mov.StockLote;
                    row1["Stock por Item"] = mov.SaldoItem;
                    row1["Vencimiento"] = mov.FechaFin != null ? mov.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-";
                    row1["Comentario"] = mov.Comentario;
                    row1["Usuario"] = mov.nUsuario;
                    dt.Rows.Add(row1);
                }
            }

            /*foreach (var obj in lstInventarios)
            {
                DataRow row = dt.NewRow();
                row["Código"] = obj.nItemCodigo;
                row["Item"] = obj.nItem;
                row["Categoría"] = obj.nCategoria;
                row["Lote"] = obj.SerieLote;
                row["Vencimiento"] = obj.FechaFin != null ? obj.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-";
                row["Stock por Lote"] = obj.StockLote;
                row["Saldo Por Item"] = obj.SaldoItem;
                row["Ubicación"] = obj.nUbicacion;
                dt.Rows.Add(row);
            }*/

            GenerarPdf4(dt, "Movimientos de todos los items", "MovimientosDeTodosLosItems", objEmpresa, FechaInicio, FechaFin, Response);

            return RedirectToAction("ReportesInventarios", new { message = 2 });
        }
Ejemplo n.º 4
0
        public ActionResult ReportesInventarios(int? message = null)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }

            //if (getCurrentUser().IdRol == 3) { return RedirectToAction("Ingresar"); }

            ViewBag.Title = "Reportes de Inventarios";
            MenuNavBarSelected(1, 2);

            ItemBL objBL = new ItemBL();
            ViewBag.lstItems = objBL.getItemsEnEmpresa(getCurrentUser().IdEmpresa);

            if (message != null)
            {
                switch (message)
                {
                    case 1:
                        createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_MESSAGE);
                        break;
                    case 2:
                        createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_REPORTE_NO_MOVS);
                        break;
                }
            }

            return View();
        }
Ejemplo n.º 5
0
        public string GetUnidadDeMedidaEnItem(int idItem)
        {
            if (!this.currentUser() || !isAdministrator()) { return "-"; }

            ItemBL objBL = new ItemBL();
            ItemDTO obj = objBL.getItemEnEmpresa(getCurrentUser().IdEmpresa, idItem);
            if (obj != null) { return obj.UnidadMedida; }
            return "-";
        }
Ejemplo n.º 6
0
        public ActionResult AddItem(ItemDTO dto)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            if (!this.isAdministrator()) { return RedirectToAction("Index"); }
            try
            {
                ItemBL objBL = new ItemBL();
                if (dto.IdItem == 0)
                {
                    if (objBL.add(dto))
                    {
                        createResponseMessage(CONSTANTES.SUCCESS);
                        return RedirectToAction("Items");
                    }
                }
                else if (dto.IdItem != 0)
                {
                    if (objBL.update(dto))
                    {
                        createResponseMessage(CONSTANTES.SUCCESS);
                        return RedirectToAction("Items");
                    }
                    else
                    {
                        createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE);
                    }

                }
                else
                {
                    createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE);
                }
            }
            catch (Exception e)
            {
                if (dto.IdItem != 0)
                    createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE);
                else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE);
            }
            TempData["Item"] = dto;
            return RedirectToAction("Item");
        }
Ejemplo n.º 7
0
        public ActionResult Item(int? id = null)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            if (!this.isAdministrator()) { return RedirectToAction("Index"); }
            ViewBag.Title = "Item";
            MenuNavBarSelected(10, 0);

            UsuarioDTO user = getCurrentUser();

            ItemBL objBL = new ItemBL();
            ViewBag.lstCategoriaItm = objBL.getCategoriasEnEmpresa(user.IdEmpresa);

            MonedaBL monedaBL = new MonedaBL();
            ViewBag.lstMonedas = monedaBL.getListaMonedas();

            var objSent = TempData["Item"];
            if (objSent != null) { TempData["Item"] = null; return View(objSent); }

            ItemDTO obj;
            if (id != null && id != 0)
            {
                obj = objBL.getItemEnEmpresa((int)user.IdEmpresa, (int)id);
                if (obj == null) return RedirectToAction("Items");
                if (obj.IdEmpresa != user.IdEmpresa) return RedirectToAction("Items");
                return View(obj);
            }
            obj = new ItemDTO();
            obj.IdEmpresa = user.IdEmpresa;

            return View(obj);
        }
Ejemplo n.º 8
0
        public ActionResult Items(bool inactivos = false)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            if (!isAdministrator()) { return RedirectToAction("Index"); }
            ViewBag.Title = "Items";
            MenuNavBarSelected(10, 0);
            UsuarioDTO user = getCurrentUser();

            ItemBL objBL = new ItemBL();
            List<ItemDTO> listaItems = new List<ItemDTO>();

            ViewBag.vbInactivos = inactivos;

            if (user.IdEmpresa > 0)
            {
                if (!inactivos)
                { listaItems = objBL.getItemsActivosEnEmpresa(user.IdEmpresa); }
                else
                { listaItems = objBL.getItemsEnEmpresa(user.IdEmpresa); }
            }
            return View(listaItems);
        }