/// <summary> /// Evento que Guarda o actualiza un Movimiento /// </summary> /// <param name="oVolumetriaForma"></param> /// <param name="oVolumetria"></param> /// <param name="lVolumetriaD"></param> private string GuardarMovimiento(ref Volumetria oVolumetriaForma, Volumetria oVolumetria, List<VolumetriaD> lVolumetriaD) { //1. Lo que sucede cuando es nuevo y no se habia guardado if (oVolumetria == null) { //Checar ticket de autenticación UsuarioBusiness.checkValidSession(this); //2. Traemeos el objeto de sesion para llenr el objeto con los datos de usuario Usuario oUsuario = (Usuario)Session["Usuario"]; oVolumetriaForma.Usuario = oUsuario.ID; //3. Actualizamos el Estatus e Insertar en la base de datos oVolumetriaForma.Estatus = "BORRADOR"; oVolumetriaForma.ID = VolumetriaBusiness.insertarVolumetria(oVolumetriaForma); //4. Agregar el objeto al Store de Revisión sVolumetria.Add(new { ID = oVolumetriaForma.ID, Mov = oVolumetriaForma.Mov, MovID = oVolumetriaForma.MovID, Sucursal = oVolumetriaForma.Sucursal, FechaEmision = oVolumetriaForma.FechaEmision, Observaciones = oVolumetriaForma.Observaciones, Preciario = oVolumetriaForma.Preciario, RPreciario = oVolumetriaForma.RPreciario, RSucursal = oVolumetriaForma.RSucursal, Estatus = oVolumetriaForma.Estatus, Usuario = oVolumetriaForma.Usuario, //Cliente = oVolumetriaForma.Cliente, RCliente = oVolumetriaForma.RCliente }); //5. Guardar Detalle y regresar valor GuardarDetalleVolumetria(lVolumetriaD, oVolumetriaForma); return "insertar"; } else { //6. Complementar datos y actualizar encabezado oVolumetriaForma.ID = oVolumetria.ID; //if (oVolumetriaForma.Cliente == null) //{ // oVolumetriaForma.Cliente = ""; // oVolumetria.RCliente.ID = ""; //} VolumetriaBusiness.actualizarVolumetria(oVolumetriaForma); //7. Actualizar store de Revision sVolumetria.GetAt(0).Set("Mov", oVolumetriaForma.Mov); sVolumetria.GetAt(0).Set("Sucursal", oVolumetriaForma.Sucursal); sVolumetria.GetAt(0).Set("Preciario", oVolumetriaForma.Preciario); sVolumetria.GetAt(0).Set("FechaEmision", oVolumetriaForma.FechaEmision); sVolumetria.GetAt(0).Set("Observaciones", oVolumetriaForma.Observaciones); //sVolumetria.GetAt(0).Set("Cliente", oVolumetriaForma.Cliente); //8. Borrar todo el detalle e insertarlo de nuevo VolumetriaDBusiness.BorrarPorVolumetria(oVolumetriaForma.ID); GuardarDetalleVolumetria(lVolumetriaD, oVolumetriaForma); //9. Regresar valor return "modificar"; } }
/// <summary> /// Método que transforma los datos Control-Valor a objeto Volumetria /// </summary> /// <param name="dRegistro"></param> /// <returns></returns> private Volumetria ObtenerObjetoDesdeForma(Dictionary<string, string> dRegistro, string strSucursal) { //1. Declarar objeto Volumetria donde se guardarán los valores Volumetria oVolumetriaForma = new Volumetria(); //2. Por cada elemento del submit de la Forma detectar el campo y asignarlo al objeto correspondiente foreach (KeyValuePair<string, string> sd in dRegistro) { switch (sd.Key) { //4. Datos de la revisión case "cmbMov": oVolumetriaForma.Mov = sd.Value; break; case "cmbPreciario": oVolumetriaForma.Preciario = sd.Value; break; case "dfFechaEmision": oVolumetriaForma.FechaEmision = Convert.ToDateTime(sd.Value); break; case "txtfObservaciones": oVolumetriaForma.Observaciones = sd.Value; break; case "IdCliente": oVolumetriaForma.RCliente = ClienteBusiness.ObtenerClientePorID(sd.Value); break; case "txtCliente": oVolumetriaForma.Cliente = sd.Value; break; } } oVolumetriaForma.Estatus = "BORRADOR"; oVolumetriaForma.Sucursal = strSucursal; //3. Regresar la Revision return oVolumetriaForma; }
/// <summary> /// Método que inserta un nuevo registro a la tabla de Volumetrias /// </summary> /// <param name="iRevision"></param> public static int insertarVolumetria(Volumetria iVolumetria ) { return VolumetriaDataAccess.Insertar(iVolumetria); }
/// <summary> /// Evento que Guarda el detalle de Volumetrias /// </summary> /// <param name="lRevisionD"></param> /// <param name="oRevisionForma"></param> private void GuardarDetalleVolumetria(List<VolumetriaD> lVolumetriaD, Volumetria oVolumetriaForma) { //1. Insertar los datos del detalle foreach (VolumetriaD sd in lVolumetriaD) { //2. Validar que el objeto no venga en blanco if (sd.ConceptoID.Equals(string.Empty) && sd.Cantidad == 0 && sd.Utilizada == 0) continue; else { sd.Volumetria = oVolumetriaForma.ID; VolumetriaDBusiness.Insertar(sd); PreciarioConceptoBusiness.Actualizar(sd.ConceptoID,sd.Utilizada,sd.Volumetria); } } }
/// <summary> /// Método que Afecta un registro de Volumetrias /// </summary> /// <param name="aVolumetria"></param> public static int AfectarVolumetriaPorID(Volumetria aVolumetria) { return VolumetriaDataAccess.AfectarVolumetriaPorID(aVolumetria); }
/// <summary> /// Método que actualiza un registro en la tabla de Volumetrias /// </summary> /// <param name="iRevision"></param> public static int actualizarVolumetria(Volumetria uVolumetria) { return VolumetriaDataAccess.Actualizar(uVolumetria); }
/// <summary> /// Método que inserta un nuevo registro a la tabla de Volumetrias /// </summary> /// <param name="iVolumetria"></param> public static int Insertar(Volumetria iVolumetria) { try { //1. Configurar la conexión y el tipo de comando SqlConnection sqlcConectar = new SqlConnection(ConfigurationManager.ConnectionStrings["OSEF"].ConnectionString); SqlCommand sqlcComando = new SqlCommand(); sqlcComando.Connection = sqlcConectar; sqlcComando.CommandType = CommandType.StoredProcedure; sqlcComando.CommandText = "web_spI_InsertarVolumetria"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Int; sqlpID.Direction = ParameterDirection.Output; SqlParameter sqlpMov = new SqlParameter(); sqlpMov.ParameterName = "@Mov"; sqlpMov.SqlDbType = SqlDbType.VarChar; sqlpMov.Value = iVolumetria.Mov; SqlParameter sqlpMovID = new SqlParameter(); sqlpMovID.ParameterName = "@MovID"; sqlpMovID.SqlDbType = SqlDbType.VarChar; if (iVolumetria.MovID == null) sqlpMovID.Value = DBNull.Value; else sqlpMovID.Value = iVolumetria.MovID; SqlParameter sqlpSucursal = new SqlParameter(); sqlpSucursal.ParameterName = "@Sucursal"; sqlpSucursal.SqlDbType = SqlDbType.Char; sqlpSucursal.Size = 10; sqlpSucursal.Value = iVolumetria.Sucursal; SqlParameter sqlpFechaEmision = new SqlParameter(); sqlpFechaEmision.ParameterName = "@FechaEmision"; sqlpFechaEmision.SqlDbType = SqlDbType.SmallDateTime; sqlpFechaEmision.Value = iVolumetria.FechaEmision; SqlParameter sqlpObservaciones = new SqlParameter(); sqlpObservaciones.ParameterName = "@Observaciones"; sqlpObservaciones.SqlDbType = SqlDbType.VarChar; sqlpObservaciones.Value = iVolumetria.Observaciones; SqlParameter sqlpEstatus = new SqlParameter(); sqlpEstatus.ParameterName = "@Estatus"; sqlpEstatus.SqlDbType = SqlDbType.VarChar; sqlpEstatus.Value = iVolumetria.Estatus; SqlParameter sqlpUsuario = new SqlParameter(); sqlpUsuario.ParameterName = "@Usuario"; sqlpUsuario.SqlDbType = SqlDbType.VarChar; sqlpUsuario.Value = iVolumetria.Usuario; SqlParameter sqlpPreciario = new SqlParameter(); sqlpPreciario.ParameterName = "@Preciario"; sqlpPreciario.SqlDbType = SqlDbType.Char; sqlpPreciario.Size = 7; sqlpPreciario.Value = iVolumetria.Preciario; SqlParameter sqlpCliente = new SqlParameter(); sqlpCliente.ParameterName = "@Cliente"; sqlpCliente.SqlDbType = SqlDbType.Char; sqlpCliente.Size = 8; sqlpCliente.Value = iVolumetria.RCliente.ID; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); sqlcComando.Parameters.Add(sqlpMov); sqlcComando.Parameters.Add(sqlpMovID); sqlcComando.Parameters.Add(sqlpSucursal); sqlcComando.Parameters.Add(sqlpFechaEmision); sqlcComando.Parameters.Add(sqlpObservaciones); sqlcComando.Parameters.Add(sqlpEstatus); sqlcComando.Parameters.Add(sqlpUsuario); sqlcComando.Parameters.Add(sqlpPreciario); sqlcComando.Parameters.Add(sqlpCliente); //4. Abrir la conexión sqlcComando.Connection.Open(); //5. Ejecutar la instrucción INSERT que regresa un dato que es el ID int result = Convert.ToInt32(sqlcComando.ExecuteScalar()); //6. Cerrar la conexión sqlcComando.Connection.Close(); //7. Regresar el resultado return Convert.ToInt32(sqlcComando.Parameters["@ID"].Value); } catch (Exception ex) { throw new Exception("Error capa de datos (public static int Insertar(Volumetria " + iVolumetria.Mov + ")): " + ex.Message); } }
/// <summary> /// Método que actualiza un nuevo registro a la tabla de Volumetrias /// </summary> /// <param name="uVolumetria"></param> public static int Actualizar(Volumetria uVolumetria) { try { //1. Configurar la conexión y el tipo de comando SqlConnection sqlcConectar = new SqlConnection(ConfigurationManager.ConnectionStrings["OSEF"].ConnectionString); SqlCommand sqlcComando = new SqlCommand(); sqlcComando.Connection = sqlcConectar; sqlcComando.CommandType = CommandType.StoredProcedure; sqlcComando.CommandText = "web_spU_ActualizarVolumetria"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Int; sqlpID.Value = uVolumetria.ID; SqlParameter sqlpMov = new SqlParameter(); sqlpMov.ParameterName = "@Mov"; sqlpMov.SqlDbType = SqlDbType.VarChar; sqlpMov.Value = uVolumetria.Mov; SqlParameter sqlpMovID = new SqlParameter(); sqlpMovID.ParameterName = "@MovID"; sqlpMovID.SqlDbType = SqlDbType.VarChar; if (uVolumetria.MovID == null) sqlpMovID.Value = DBNull.Value; else sqlpMovID.Value = uVolumetria.MovID; SqlParameter sqlpSucursal = new SqlParameter(); sqlpSucursal.ParameterName = "@Sucursal"; sqlpSucursal.SqlDbType = SqlDbType.VarChar; sqlpSucursal.Value = uVolumetria.Sucursal; SqlParameter sqlpObservaciones = new SqlParameter(); sqlpObservaciones.ParameterName = "@Observaciones"; sqlpObservaciones.SqlDbType = SqlDbType.VarChar; sqlpObservaciones.Value = uVolumetria.Observaciones; SqlParameter sqlpEstatus = new SqlParameter(); sqlpEstatus.ParameterName = "@Estatus"; sqlpEstatus.SqlDbType = SqlDbType.VarChar; sqlpEstatus.Value = uVolumetria.Estatus; SqlParameter sqlpPreciario = new SqlParameter(); sqlpPreciario.ParameterName = "@Preciario"; sqlpPreciario.SqlDbType = SqlDbType.Char; sqlpPreciario.Size = 7; sqlpPreciario.Value = uVolumetria.Preciario; SqlParameter sqlpCliente = new SqlParameter(); sqlpCliente.ParameterName = "@Cliente"; sqlpCliente.SqlDbType = SqlDbType.Char; if (uVolumetria.Cliente == null || uVolumetria.Cliente.Trim().Equals("")) sqlpCliente.Value = DBNull.Value; else sqlpCliente.Value = uVolumetria.RCliente.ID; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); sqlcComando.Parameters.Add(sqlpMov); sqlcComando.Parameters.Add(sqlpMovID); sqlcComando.Parameters.Add(sqlpSucursal); sqlcComando.Parameters.Add(sqlpObservaciones); sqlcComando.Parameters.Add(sqlpEstatus); sqlcComando.Parameters.Add(sqlpPreciario); sqlcComando.Parameters.Add(sqlpCliente); //4. Abrir la conexión sqlcComando.Connection.Open(); //5. Ejecutar la instrucción UPDATE que no regresa filas int result = sqlcComando.ExecuteNonQuery(); //6. Cerrar la conexión sqlcComando.Connection.Close(); //7. Regresar el resultado return result; } catch (Exception ex) { throw new Exception("Error capa de datos (public static int Actualizar(Volumetría " + uVolumetria.ID + ")): " + ex.Message); } }
/// <summary> /// Método que Afecta un registro de Volumetria /// </summary> /// <param name="aVolumetria"></param> public static int AfectarVolumetriaPorID(Volumetria aVolumetria) { try { //1. Configurar la conexión y el tipo de comando SqlConnection sqlcConectar = new SqlConnection(ConfigurationManager.ConnectionStrings["OSEF"].ConnectionString); SqlCommand sqlcComando = new SqlCommand(); sqlcComando.Connection = sqlcConectar; sqlcComando.CommandType = CommandType.StoredProcedure; sqlcComando.CommandText = "web_spS_AfectarVolumetriaPorID"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Int; sqlpID.Value = aVolumetria.ID; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); //4. Abrir la conexión sqlcComando.Connection.Open(); //5. Ejecutar la instrucción UPDATE que no regresa filas int result = sqlcComando.ExecuteNonQuery(); //6. Cerrar la conexión sqlcComando.Connection.Close(); //7. Regresar el resultado return result; } catch (Exception ex) { throw new Exception("Error capa de datos (public static int AfectarVolumetriaPorID(Volumetria " + aVolumetria + ")): " + ex.Message); } }