private void CerrarInventario(bool pendiente)
        {
            if (partidas.Count > 0)
            {
                if (tipoInventario == null)
                {
                    Ambiente.Mensaje("Operación denegada, seleccione tipo inventario");
                    return;
                }
                if (tipoInventario.Bloquea)
                {
                    if (Ambiente.Pregunta("Este proceso no tiene reversión. Continuar"))
                    {
                        inventario.TipoInventario        = tipoInventario.Descripcion;
                        inventario.TipoInventarioId      = tipoInventario.TipoInventarioId;
                        inventario.EstadoDocId           = "CON";
                        inventario.UsuarioAutorizacion   = Ambiente.LoggedUser.Nombre;
                        inventario.UsuarioAutorizacionId = Ambiente.LoggedUser.UsuarioId;
                        inventario.FechaAutorizacion     = DateTime.Now;

                        if (inventarioController.Update(inventario))
                        {
                            ActualizaPartidas();

                            AfectaLotes();
                            AfectaMovsInv();
                            AfectaStock();

                            foreach (var p in partidas)
                            {
                                producto = productoController.SelectOne(p.ProductoId);
                                if (producto != null)
                                {
                                    producto.Ocupado = false;
                                    productoController.Update(producto);
                                }
                            }
                            Ambiente.stiReport = new Stimulsoft.Report.StiReport();
                            Ambiente.stiReport.LoadPackedReportFromString(Ambiente.InformeInvetarios.Codigo);
                            Ambiente.stiReport.Dictionary.Variables["InventarioId"].ValueObject = inventario.InventarioId;
                            Ambiente.S1 = Ambiente.Empresa.DirectorioInverarios + "INVENTARIO_AUTORIZACION_" + inventario.InventarioId + ".PDF";
                            Ambiente.stiReport.Render(false);
                            Ambiente.stiReport.ExportDocument(Stimulsoft.Report.StiExportFormat.Pdf, Ambiente.S1);
                            Process.Start(Ambiente.S1);
                            Close();
                        }
                        else
                        {
                            Ambiente.Mensaje("Algo salio mal con: if (traspasoController.Update(devolucion))");
                        }
                    }
                }
                else
                {
                    Ambiente.Mensaje("El tipo de invetario no permite autorizacion");
                }
            }
        }
예제 #2
0
        private void CerrarInventario(bool pendiente)
        {
            if (partidas.Count > 0)
            {
                if (tipoInventario == null)
                {
                    Ambiente.Mensaje("Operación denegada, seleccione tipo inventario");
                    return;
                }
                if (tipoInventario.Bloquea)
                {
                    if (Ambiente.Pregunta("Todos los productos invetariados se bloquearán hasta la aprobacion del inventario. Continuar"))
                    {
                        foreach (var p in partidas)
                        {
                            producto = productoController.SelectOne(p.ProductoId);
                            if (producto != null)
                            {
                                producto.Ocupado = true;
                                productoController.Update(producto);
                            }
                        }

                        inventario.TipoInventario   = tipoInventario.Descripcion;
                        inventario.TipoInventarioId = tipoInventario.TipoInventarioId;
                        inventario.EstadoDocId      = "PEN";
                        inventario.FechaBloqueo     = DateTime.Now;
                        inventario.UsuarioBloqueoId = Ambiente.LoggedUser.UsuarioId;

                        if (inventarioController.Update(inventario))
                        {
                            if (GuardaPartidas())
                            {
                                if (!pendiente)
                                {
                                    // AfectaLotes();
                                    // AfectaStock();
                                    // AfectaMovsInv();
                                    if (!Ambiente.CancelaProceso)
                                    {
                                        Ambiente.stiReport = new Stimulsoft.Report.StiReport();
                                        Ambiente.stiReport.LoadPackedReportFromString(Ambiente.InformeInvetarios.Codigo);
                                        Ambiente.stiReport.Dictionary.Variables["InventarioId"].ValueObject = inventario.InventarioId;
                                        Ambiente.S1 = Ambiente.Empresa.DirectorioInverarios + "INVENTARIO-" + inventario.InventarioId + ".PDF";
                                        Ambiente.stiReport.Render(false);
                                        Ambiente.stiReport.ExportDocument(Stimulsoft.Report.StiExportFormat.Pdf, Ambiente.S1);
                                        Process.Start(Ambiente.S1);
                                        Close();
                                    }
                                    else
                                    {
                                        Ambiente.Mensaje("Proceso concluido con inconsistencias");
                                    }
                                    //ResetPDD();
                                }
                                else
                                {
                                    PendienteOdescarta();
                                }
                            }
                            else
                            {
                                Ambiente.Mensaje("Algo salio mal con: if (GuardaPartidas())");
                            }
                        }
                        else
                        {
                            Ambiente.Mensaje("Algo salio mal con: if (traspasoController.Update(devolucion))");
                        }
                    }
                }
                else
                {
                    inventario.TipoInventario   = tipoInventario.Descripcion;
                    inventario.TipoInventarioId = tipoInventario.TipoInventarioId;
                    if (pendiente)
                    {
                        inventario.EstadoDocId = "PEN";
                    }
                    else
                    {
                        inventario.EstadoDocId = "CON";
                    }
                    inventario.FechaBloqueo          = DateTime.Now;
                    inventario.UsuarioBloqueoId      = null;
                    inventario.UsuarioAutorizacionId = Ambiente.LoggedUser.UsuarioId;
                    inventario.UsuarioAutorizacion   = Ambiente.LoggedUser.Nombre;
                    inventario.FechaAutorizacion     = DateTime.Now;
                    //inventario.CreatedAt = DateTime.Now;
                    //inventario.CreatedBy = Ambiente.LoggedUser.UsuarioId;

                    if (inventarioController.Update(inventario))
                    {
                        if (GuardaPartidas())
                        {
                            if (!pendiente)
                            {
                                AfectaLotes();
                                AfectaMovsInv();
                                AfectaStock();

                                if (!Ambiente.CancelaProceso)
                                {
                                    Ambiente.stiReport = new Stimulsoft.Report.StiReport();
                                    Ambiente.stiReport.LoadPackedReportFromString(Ambiente.InformeInvetarios.Codigo);
                                    Ambiente.stiReport.Dictionary.Variables["InventarioId"].ValueObject = inventario.InventarioId;
                                    Ambiente.S1 = Ambiente.Empresa.DirectorioInverarios + "INVENTARIO-" + inventario.InventarioId + ".PDF";
                                    Ambiente.stiReport.Render(false);
                                    Ambiente.stiReport.ExportDocument(Stimulsoft.Report.StiExportFormat.Pdf, Ambiente.S1);
                                    Process.Start(Ambiente.S1);
                                    Close();
                                }
                                else
                                {
                                    Ambiente.Mensaje("Proceso concluido con inconsistencias");
                                }
                                //ResetPDD();
                            }
                            else
                            {
                                PendienteOdescarta();
                            }
                        }
                        else
                        {
                            Ambiente.Mensaje("Algo salio mal con: if (GuardaPartidas())");
                        }
                    }
                    else
                    {
                        Ambiente.Mensaje("Algo salio mal con: if (traspasoController.Update(devolucion))");
                    }
                }
            }
        }