/// <summary> /// Obtener todos los registros de PreciarioGeneralConcepto por su ID /// </summary> /// <returns></returns> public static PreciarioGeneralConcepto ObtenerPreciarioGeneralConceptoPorId(string IDConcepto) { 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_ObtenerPreciarioGeneralConceptoPorId"; //2. Declarar los parametros SqlParameter sqlpConceptoId = new SqlParameter(); sqlpConceptoId.ParameterName = "@ID"; sqlpConceptoId.SqlDbType = SqlDbType.Char; sqlpConceptoId.Size = 10; sqlpConceptoId.Value = IDConcepto; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpConceptoId); //4. Abrir la conexión sqlcComando.Connection.Open(); //5. Ejecutar la instrucción SELECT que regresa filas SqlDataReader reader = sqlcComando.ExecuteReader(); //6. Asignar la lista PreciarioGeneralConcepto result = LibraryGenerics <PreciarioGeneralConcepto> .ConvertDataSetToList(reader).FirstOrDefault(); //7. Cerrar la conexión sqlcComando.Connection.Close(); //8. Regresar el resultado return(result); } catch (Exception ex) { throw new Exception("Error capa de datos (public static PreciarioConcepto ObtenerPreciarioConceptoPorId()): " + ex.Message); } }
/// <summary> /// Evento de clic del botón Guardar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void imgbtnGuardar_Click(object sender, DirectEventArgs e) { //1. Obtener datos de la Forma y saber si es edición o nuevo string strRegistro = e.ExtraParams["registro"]; string strEstatus = e.ExtraParams["estatus"]; string strArchivo = e.ExtraParams["archivo"]; string rTipoObra = e.ExtraParams["tipoObra"]; string rTipoMtno = e.ExtraParams["tipoMnto"]; string strRegistrosNuevos = e.ExtraParams["registrosnuevos"]; string strRegistrosActualizados = e.ExtraParams["registrosactualizados"]; string strRegistrosEliminados = e.ExtraParams["registroseliminados"]; string strcookieEditarPreciario = Cookies.GetCookie("cookieEditarPreciarioGeneral").Value; Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strRegistro); string strPreciarioDetalle = e.ExtraParams["DetallePreciario"]; //2. Se guarda en una lista el Store que contiene todos los campos para deserealizarlos y usarlos para el insert List <PreciarioGeneralConcepto> lDetallePreciario = JSON.Deserialize <List <PreciarioGeneralConcepto> >(strPreciarioDetalle); PreciarioGeneral oPreciario = new PreciarioGeneral(); //3. 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 del preciario case "txtfDescripcion": oPreciario.Descripcion = sd.Value; break; } } //5. Se toma el nombre del archivo de Excel que se está cargando oPreciario.Archivo = fufArchivoExcel.FileName; //6. Validar si es nuevo o es uno existente if (strcookieEditarPreciario.Equals("Nuevo")) { //7. Traemeos el objeto de sesion para llenr el objeto con los datos de usuario oPreciario.FechaAlta = DateTime.Now; Usuario oUsuario = (Usuario)Session["Usuario"]; oPreciario.Usuario = oUsuario.ID; oPreciario.Estatus = strEstatus; if (rTipoObra.Equals("true")) { oPreciario.TipoObra = true; } if (rTipoMtno.Equals("true")) { oPreciario.TipoMantenimiento = true; } if (PreciarioGeneralBusiness.ObtenerPreciariosGeneralesRepetidos(oPreciario.Descripcion)) { var success = new JFunction { Fn = "imgbtnGuardar_Click_SuccessRepetido" }; X.Msg.Alert("Alerta", "<p align='center'>El preciario ya se encuentra registrado con el nombre: <br/>" + oPreciario.Descripcion + ".</p>", success).Show(); } else { //8. Insertar en la base de datos oPreciario.ID = PreciarioGeneralBusiness.Insertar(oPreciario); string categoria = ""; string subcategoria = ""; string subsubcategoria = ""; foreach (PreciarioGeneralConcepto sd in lDetallePreciario) { //9. Insertar Categoria if (sd.Tipo.Equals("1")) { PreciarioGeneralCategoria c = new PreciarioGeneralCategoria(); c.Clave = sd.Clave; c.Preciario = oPreciario.ID; c.Descripcion = sd.Descripcion; c.Usuario = oUsuario.ID; c.Estatus = sd.Estatus; c.FechaAlta = sd.FechaAlta; categoria = PreciarioGeneralCategoriaBusiness.Insertar(c); } //10. Insertar SubCategoria if (sd.Tipo.Equals("2")) { PreciarioGeneralSubCategoria sc = new PreciarioGeneralSubCategoria(); sc.Clave = sd.Clave; sc.Preciario = oPreciario.ID; sc.Descripcion = sd.Descripcion; sc.Categoria = categoria; sc.Usuario = oUsuario.ID; sc.Estatus = sd.Estatus; sc.FechaAlta = sd.FechaAlta; subcategoria = PreciarioGeneralSubCategoriaBusiness.Insertar(sc); } //11. Insertar SubSubCategoria if (sd.Tipo.Equals("3")) { PreciarioGeneralSubSubCategoria ssc = new PreciarioGeneralSubSubCategoria(); ssc.Clave = sd.Clave; ssc.Preciario = oPreciario.ID; ssc.Descripcion = sd.Descripcion; ssc.Categoria = categoria; ssc.SubCategoria = subcategoria; ssc.Usuario = oUsuario.ID; ssc.Estatus = sd.Estatus; ssc.FechaAlta = sd.FechaAlta; subsubcategoria = PreciarioGeneralSubSubCategoriaBusiness.Insertar(ssc); } //12. Insertar Concepto if (sd.Tipo.Equals("")) { PreciarioGeneralConcepto pc = new PreciarioGeneralConcepto(); pc.Clave = sd.Clave; pc.Preciario = oPreciario.ID; pc.Descripcion = sd.Descripcion; pc.Unidad = sd.Unidad; pc.Cantidad = sd.Cantidad; pc.Costo = sd.Costo; pc.Categoria = categoria; pc.SubCategoria = subcategoria; pc.SubSubCategoria = subsubcategoria; pc.Usuario = oUsuario.ID; pc.Estatus = sd.Estatus; pc.FechaAlta = sd.FechaAlta; pc.Moneda = sd.Moneda; PreciarioGeneralConceptoBusiness.Insertar(pc); } } //Inserta las categorias de otros PreciarioGeneralCategoria catg = new PreciarioGeneralCategoria(); catg.Clave = "OTR-001"; catg.Preciario = oPreciario.ID; catg.Descripcion = "OTROS ADICIONALES"; catg.Usuario = oUsuario.ID; catg.Estatus = strEstatus; catg.FechaAlta = DateTime.Now; categoria = PreciarioGeneralCategoriaBusiness.Insertar(catg); PreciarioGeneralSubCategoria scatg = new PreciarioGeneralSubCategoria(); scatg.Clave = "OTR-001"; scatg.Preciario = oPreciario.ID; scatg.Descripcion = "OTROS ADICIONALES"; scatg.Usuario = oUsuario.ID; scatg.Categoria = categoria; scatg.Estatus = strEstatus; scatg.FechaAlta = DateTime.Now; subcategoria = PreciarioGeneralSubCategoriaBusiness.Insertar(scatg); PreciarioGeneralSubSubCategoria sscatg = new PreciarioGeneralSubSubCategoria(); sscatg.Clave = "OTR-001"; sscatg.Preciario = oPreciario.ID; sscatg.Descripcion = "OTROS ADICIONALES"; sscatg.Categoria = categoria; sscatg.SubCategoria = subcategoria; sscatg.Usuario = oUsuario.ID; sscatg.Estatus = strEstatus; sscatg.FechaAlta = DateTime.Now; PreciarioGeneralSubSubCategoriaBusiness.Insertar(sscatg); //13. Mandar mensaje con el código del Preciario var success = new JFunction { Fn = "imgbtnGuardar_Click_Success" }; X.Msg.Alert("Registro completo", "<p align='center'>Preciario registrado con ID: <br/>" + oPreciario.ID + ".</p>", success).Show(); sCarga.DataSource = PreciarioGeneralConceptoBusiness.ObtenerPreciarioGeneralConceptoPorPreciario(oPreciario.ID); sCarga.DataBind(); } } else { //14. Valida que archivo guardar if (fufArchivoExcel.FileName.Equals("")) { oPreciario.Archivo = strArchivo; } else { oPreciario.Archivo = fufArchivoExcel.FileName; } //15. Tomamos la sucursal y estatus como parametro independiente por que ya esta deshabilitada oPreciario.ID = strcookieEditarPreciario;//ID PRE oPreciario.Estatus = strEstatus; //16. Actualizar los datos del Preciario PreciarioGeneralBusiness.Actualizar(oPreciario); //16.1 Validamos si tiene nuevos conceptos Usuario usr = (Usuario)Session["Usuario"]; if (!strRegistrosNuevos.Equals("0")) { List <PreciarioGeneralConcepto> lDetallePreciarioNuevos = JSON.Deserialize <List <PreciarioGeneralConcepto> >(strRegistrosNuevos); foreach (PreciarioGeneralConcepto sd in lDetallePreciarioNuevos) { PreciarioGeneralConcepto npgc = new PreciarioGeneralConcepto(); npgc.Clave = sd.Clave; npgc.Preciario = oPreciario.ID; npgc.Descripcion = sd.Descripcion; npgc.Unidad = sd.Unidad; npgc.Cantidad = sd.Cantidad; npgc.Costo = sd.Costo; npgc.Categoria = sd.Categoria; npgc.SubCategoria = sd.SubCategoria; npgc.SubSubCategoria = sd.SubSubCategoria; npgc.Usuario = usr.ID; npgc.Estatus = oPreciario.Estatus; npgc.FechaAlta = DateTime.Now; npgc.Moneda = sd.Moneda; PreciarioGeneralConceptoBusiness.Insertar(npgc); } } if (!strRegistrosActualizados.Equals("0")) { List <PreciarioGeneralConcepto> lDetallePreciarioActualizados = JSON.Deserialize <List <PreciarioGeneralConcepto> >(strRegistrosActualizados); foreach (PreciarioGeneralConcepto sd in lDetallePreciarioActualizados) { PreciarioGeneralConcepto npgc = new PreciarioGeneralConcepto(); npgc.ID = sd.ID; npgc.Clave = sd.Clave; npgc.Preciario = oPreciario.ID; npgc.Descripcion = sd.Descripcion; npgc.Unidad = sd.Unidad; npgc.Cantidad = sd.Cantidad; npgc.Costo = sd.Costo; npgc.Categoria = sd.Categoria; npgc.SubCategoria = sd.SubCategoria; npgc.SubSubCategoria = sd.SubSubCategoria; npgc.Usuario = usr.ID; npgc.Estatus = oPreciario.Estatus; npgc.FechaAlta = DateTime.Now; npgc.Moneda = sd.Moneda; PreciarioGeneralConceptoBusiness.Actualizar(npgc); } } if (!strRegistrosEliminados.Equals("0")) { List <PreciarioGeneralConcepto> lDetallePreciarioEliminados = JSON.Deserialize <List <PreciarioGeneralConcepto> >(strRegistrosEliminados); foreach (PreciarioGeneralConcepto sd in lDetallePreciarioEliminados) { PreciarioGeneralConceptoBusiness.Borrar(sd.ID, sd.Clave); } } //17. Mandar mensaje con el código del preciario var success = new JFunction { Fn = "imgbtnGuardar_Click_Success" }; X.Msg.Alert("Actualización completa", "<p align='center'>Se han actualizado los datos del preciario <br/>" + oPreciario.ID + ".</p>", success).Show(); } }
/// <summary> /// Método que actualiza un registro en la tabla de PreciarioConcepto /// </summary> /// <param name="iPreciarioConcepto"></param> public static int Actualizar(PreciarioGeneralConcepto iPreciarioConcepto) { 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_ActualizarPreciarioGeneralConceptoAdicional"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Char; sqlpID.Size = 10; sqlpID.Value = iPreciarioConcepto.ID; //2. Declarar los parametros SqlParameter sqlpClave = new SqlParameter(); sqlpClave.ParameterName = "@Clave"; sqlpClave.SqlDbType = SqlDbType.Char; sqlpClave.Size = 30; sqlpClave.Value = iPreciarioConcepto.Clave; SqlParameter sqlpPreciario = new SqlParameter(); sqlpPreciario.ParameterName = "@Preciario"; sqlpPreciario.SqlDbType = SqlDbType.VarChar; sqlpPreciario.Value = iPreciarioConcepto.Preciario; SqlParameter sqlpDescripcion = new SqlParameter(); sqlpDescripcion.ParameterName = "@Descripcion"; sqlpDescripcion.SqlDbType = SqlDbType.VarChar; sqlpDescripcion.Value = iPreciarioConcepto.Descripcion; SqlParameter sqlpCategoria = new SqlParameter(); sqlpCategoria.ParameterName = "@Categoria"; sqlpCategoria.SqlDbType = SqlDbType.Char; sqlpCategoria.Size = 10; sqlpCategoria.Value = iPreciarioConcepto.Categoria; SqlParameter sqlpSubCategoria = new SqlParameter(); sqlpSubCategoria.ParameterName = "@SubCategoria"; sqlpSubCategoria.SqlDbType = SqlDbType.Char; sqlpSubCategoria.Size = 10; sqlpSubCategoria.Value = iPreciarioConcepto.SubCategoria; SqlParameter sqlpSubSubCategoria = new SqlParameter(); sqlpSubSubCategoria.ParameterName = "@SubSubCategoria"; sqlpSubSubCategoria.SqlDbType = SqlDbType.Char; sqlpSubSubCategoria.Size = 10; sqlpSubSubCategoria.Value = iPreciarioConcepto.SubSubCategoria; SqlParameter sqlpUnidad = new SqlParameter(); sqlpUnidad.ParameterName = "@Unidad"; sqlpUnidad.SqlDbType = SqlDbType.VarChar; sqlpUnidad.Value = iPreciarioConcepto.Unidad; SqlParameter sqlpCosto = new SqlParameter(); sqlpCosto.ParameterName = "@Costo"; sqlpCosto.SqlDbType = SqlDbType.Decimal; sqlpCosto.Value = iPreciarioConcepto.Costo; SqlParameter sqlpCantidad = new SqlParameter(); sqlpCantidad.ParameterName = "@Cantidad"; sqlpCantidad.SqlDbType = SqlDbType.Decimal; sqlpCantidad.Value = iPreciarioConcepto.Cantidad; SqlParameter sqlpUsuario = new SqlParameter(); sqlpUsuario.ParameterName = "@Usuario"; sqlpUsuario.SqlDbType = SqlDbType.VarChar; sqlpUsuario.Value = iPreciarioConcepto.Usuario; SqlParameter sqlpEstatus = new SqlParameter(); sqlpEstatus.ParameterName = "@Estatus"; sqlpEstatus.SqlDbType = SqlDbType.VarChar; sqlpEstatus.Value = iPreciarioConcepto.Estatus; SqlParameter sqlpMoneda = new SqlParameter(); sqlpMoneda.ParameterName = "@Moneda"; sqlpMoneda.SqlDbType = SqlDbType.VarChar; sqlpMoneda.Value = iPreciarioConcepto.Moneda; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); sqlcComando.Parameters.Add(sqlpClave); sqlcComando.Parameters.Add(sqlpPreciario); sqlcComando.Parameters.Add(sqlpDescripcion); sqlcComando.Parameters.Add(sqlpCategoria); sqlcComando.Parameters.Add(sqlpSubCategoria); sqlcComando.Parameters.Add(sqlpSubSubCategoria); sqlcComando.Parameters.Add(sqlpUnidad); sqlcComando.Parameters.Add(sqlpCosto); sqlcComando.Parameters.Add(sqlpCantidad); sqlcComando.Parameters.Add(sqlpUsuario); sqlcComando.Parameters.Add(sqlpEstatus); sqlcComando.Parameters.Add(sqlpMoneda); //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(PreciarioGeneralConcepto " + iPreciarioConcepto.Clave + ")): " + ex.Message); } }
/// <summary> /// Método que inserta un nuevo registro a la tabla de PreciarioConcepto /// </summary> /// <param name="iPreciarioConcepto"></param> public static int Insertar(PreciarioGeneralConcepto iPreciarioConcepto) { return(PreciarioGeneralConceptoDataAccess.Insertar(iPreciarioConcepto)); }
/// <summary> /// Método que actualiza algun PreciarioGeneralConcepto por su ID /// </summary> /// <param name="iPreciarioConcepto"></param> public static int Actualizar(PreciarioGeneralConcepto iPreciarioConcepto) { return(PreciarioGeneralConceptoDataAccess.Actualizar(iPreciarioConcepto)); }