示例#1
0
        private void btnCierre_Click(object sender, EventArgs e)
        {
            if (XtraMessageBox.Show("¿Desea cerrar el inventario?", "Cierre de inventario", MessageBoxButtons.YesNo) != DialogResult.No)
            {
                string rpta = "", anio, mes;

                MCierre cierre = new MCierre();
                cierre.Idtienda    = Configuraciones.Configuraciones.idtienda;
                cierre.Fecha       = DateTime.Now;
                cierre.Anio_cierre = DateTime.Now.Year.ToString();
                cierre.Mes_cierre  = DateTime.Now.Month.ToString();
                cierre.Abierto     = "0";
                cierre.Mes         = DateTime.Now.Month - 1;

                MCierreDetalle det = new MCierreDetalle();
                det.Idtienda = Configuraciones.Configuraciones.idtienda;
                rpta         = ControllerCierre.CerrarInventario(cierre, det);
                if (rpta == "OK")
                {
                    XtraMessageBox.Show(this, "El inventario se ha cerrado correctamente", "Cierre mensual de inventario");
                    //menu.barHeaderItemAlertaCierre.Caption = "";
                    //menu.barHeaderItemAlertaCierre.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
                    this.Close();
                }
                else
                {
                    XtraMessageBox.Show(this, "Error al cerrar el inventario, por favor consulte a su administrador de datos " + rpta, "Error al cerrar inventario");
                }
            }
        }
        public static string CerrarInventario(MCierre cierre, MCierreDetalle cirreDetalle)
        {
            string         rpta      = "";
            MProcedimiento objProc   = new MProcedimiento();
            MExecute       objExcute = new MExecute();

            try
            {
                objProc.NombreProcedimiento = "spsave_cierre";
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@pidcierre", Valor = cierre.Idcierre, Tipo = DbType.Int32, Out = true
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@pidtienda", Valor = cierre.Idtienda, Tipo = DbType.Int32, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@pfecha", Valor = cierre.Fecha, Tipo = DbType.DateTime, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@anio_cierre", Valor = cierre.Anio_cierre, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@mes_cierre", Valor = cierre.Mes_cierre, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@abierto", Valor = cierre.Abierto, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@mes", Valor = cierre.Mes, Tipo = DbType.Int32, Out = false
                });
                objExcute.IniciarTran();
                rpta = objExcute.UpsertTransaction(objProc);

                if (rpta.Equals("OK"))
                {
                    int idingreso = Convert.ToInt32(objExcute.ParametroDeSalida("@pidcierre"));


                    MProcedimiento objProc1 = new MProcedimiento();
                    cirreDetalle.Idcierre        = idingreso;
                    objProc1.NombreProcedimiento = "spsave_cierreDetalle";
                    objProc1.Parametros.Add(new MParametro {
                        Nombre = "@pidtienda", Valor = cirreDetalle.Idtienda, Tipo = DbType.Int32, Out = false
                    });
                    objProc1.Parametros.Add(new MParametro {
                        Nombre = "@pidcierre", Valor = cirreDetalle.Idcierre, Tipo = DbType.Int32, Out = false
                    });
                    rpta = objExcute.UpsertTransaction(objProc1);
                }

                if (rpta.Equals("OK"))
                {
                    objExcute.TranasctionCommit();
                }
                else
                {
                    objExcute.TranasctionRollback();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                objExcute.cerrarConexionTransaccion();
            }
            return(rpta);
        }