/// <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 strFinObra = e.ExtraParams["FInObra"]; string strSemanasObra = e.ExtraParams["semanasObra"]; string strcookieEditarSucursal = Cookies.GetCookie("cookieEditarSucursal").Value; Dictionary<string, string> dRegistro = JSON.Deserialize<Dictionary<string, string>>(strRegistro); Sucursal oSucursal = new Sucursal(); oSucursal.FechaAlta = DateTime.Now; string strcookieCP = ""; string strcookieMunicipio = ""; string strcookieEstado = ""; string strcookieColonia = ""; if (strcookieEditarSucursal.Equals("Nuevo")) { strcookieCP = Cookies.GetCookie("cookieCP").Value; strcookieMunicipio = Cookies.GetCookie("cookieMunicipio").Value; strcookieEstado = Cookies.GetCookie("cookieEstado").Value; strcookieColonia = Cookies.GetCookie("cookieColonia").Value; oSucursal.CodigoPostal = strcookieCP; oSucursal.Colonia = strcookieColonia; oSucursal.Estado = strcookieEstado; oSucursal.Municipio = strcookieMunicipio; } else { strcookieCP = Cookies.GetCookie("cookieCP").Value; strcookieMunicipio = Cookies.GetCookie("cookieMunicipio").Value; strcookieEstado = Cookies.GetCookie("cookieEstado").Value; strcookieColonia = Cookies.GetCookie("cookieColonia").Value; if (strcookieCP.Length > 0) { oSucursal.CodigoPostal = strcookieCP; oSucursal.Colonia = strcookieColonia; oSucursal.Estado = strcookieEstado; oSucursal.Municipio = strcookieMunicipio; } else { Sucursal oSucursalForma = SucursalBusiness.ObtenerSucursalPorID(strcookieEditarSucursal); if (oSucursal != null) { oSucursal.CodigoPostal = oSucursalForma.CodigoPostal; oSucursal.Colonia = oSucursalForma.Colonia; oSucursal.Estado = oSucursalForma.Estado; oSucursal.Municipio = oSucursalForma.Municipio; } } } //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) { //3. Datos del proveedor case "nfCR": oSucursal.CR = Convert.ToInt16(sd.Value); break; case "txtfNombre": oSucursal.Nombre = sd.Value; break; case "txtfDireccionZona": oSucursal.Direccionzona = sd.Value; break; case "txtfGerenteBBVANombre": oSucursal.GerenteBBVANombre = sd.Value; break; case "txtfGerenteBBVAAPaterno": oSucursal.GerenteBBVAAPaterno = sd.Value; break; case "txtfGerenteBBVAAMaterno": oSucursal.GerenteBBVAAMaterno = sd.Value; break; case "txtfSupervisorNombre": oSucursal.SupervisorNombre = sd.Value; break; case "txtfSupervisorAPaterno": oSucursal.SupervisorAPaterno = sd.Value; break; case "txtfSupervisorAMaterno": oSucursal.SupervisorAMaterno = sd.Value; break; case "txtfProveedorEnergia": oSucursal.ProveedorEnergia = sd.Value; break; case "nfSuperficie": oSucursal.Superficie = Convert.ToInt32(sd.Value); break; case "txtfCoordinadorNombre": oSucursal.CoordinadorNombre = sd.Value; break; case "txtfCoordinadorAPaterno": oSucursal.CoordinadorAPaterno = sd.Value; break; case "txtfCoordinadorAMaterno": oSucursal.CoordinadorAMaterno = sd.Value; break; case "txtfCalle": oSucursal.Calle = sd.Value; break; case "txtfEntreCalles": oSucursal.EntreCalles = sd.Value; break; case "txtfNoExterior": oSucursal.NoExterior = sd.Value; break; case "txtfNoInterior": oSucursal.NoInterior = sd.Value; break; //case "txtfCodigoPostal": // oSucursal.CodigoPostal = Convert.ToInt32(sd.Value); // break; //case "cmbColonia": // oSucursal.Colonia = sd.Value; // break; //case "cmbEstado": // oSucursal.Estado = sd.Value; // break; //case "cmbMunicipio": // oSucursal.Municipio = sd.Value; // break; case "cmbProveedor": oSucursal.Contratista = sd.Value; break; case "dfInicioObra": oSucursal.InicioObra = Convert.ToDateTime(sd.Value); break; case "dfFechaAlta": oSucursal.FechaAlta = Convert.ToDateTime(sd.Value); break; case "cmbEstatus": oSucursal.Estatus = sd.Value; break; case "cmbEmpresaSupervisora": oSucursal.EmpresaSupervisora = sd.Value == null || sd.Value.Equals("") ? "" : sd.Value; break; case "cmbTipoConcepto": oSucursal.TipoConcepto = sd.Value == null || sd.Value.Equals("") ? "" : sd.Value; break; case "txtTipoObra": oSucursal.TipoObra = sd.Value == null || sd.Value.Equals("") ? "" : sd.Value; break; } } oSucursal.FinObra = Convert.ToDateTime(strFinObra); oSucursal.SemanasObra = Convert.ToInt16(strSemanasObra); string strcookieCliente = Cookies.GetCookie("cookieEditarCliente").Value != null || Cookies.GetCookie("cookieEditarCliente").Value.Length > 0 ? Cookies.GetCookie("cookieEditarCliente").Value : ""; oSucursal.Cliente = strcookieCliente; if(strcookieCliente != null && !strcookieCliente.Equals("")){ oSucursal.Cliente = strcookieCliente; } //4. Validar si es nuevo o es uno existente if (strcookieEditarSucursal.Equals("Nuevo")) { //5. Insertar en la base de datos oSucursal.FechaAlta = DateTime.Now; oSucursal.Estatus = "ALTA"; if (SucursalBusiness.ObtenerCREnSucursales(oSucursal.CR, strcookieCliente)) { var success = new JFunction { Fn = "imgbtnGuardar_Click_SuccessCR" }; X.Msg.Alert("Alerta", "<p align='center'>El cliente ya posee esta sucursal registrada con CR: <br/>" + oSucursal.CR + ".</p>", success).Show(); }else{ oSucursal.ID = SucursalBusiness.Insertar(oSucursal); //6. Mandar mensaje con el código del proveedor var success = new JFunction { Fn = "imgbtnGuardar_Click_Success" }; X.Msg.Alert("Registro completo", "<p align='center'>Sucursal registrada con ID: <br/>" + oSucursal.ID + ".</p>", success).Show(); } } else { oSucursal.ID = strcookieEditarSucursal; oSucursal.Estatus = strEstatus; //7. Actualizar los datos del proveedor SucursalBusiness.Actualizar(oSucursal); //8. Mandar mensaje con el código del proveedor var success = new JFunction { Fn = "imgbtnGuardar_Click_Success" }; X.Msg.Alert("Actualización completa", "<p align='center'>Se han actualizado los datos de la sucursal <br/>" + oSucursal.ID + ".</p>", success).Show(); } }
/// <summary> /// Método que actualiza un nuevo registro a la tabla de Sucursales /// </summary> /// <param name="uSucursal"></param> /// <returns></returns> public static int Actualizar(Sucursal uSucursal) { return SucursalDataAccess.Actualizar(uSucursal); }
/// <summary> /// Método que inserta un nuevo registro a la tabla de Sucursales /// </summary> /// <param name="iSucursal"></param> public static string Insertar(Sucursal iSucursal) { return SucursalDataAccess.Insertar(iSucursal); }
/// <summary> /// Método que inserta un nuevo registro a la tabla de Sucursales /// </summary> /// <param name="iSucursal"></param> public static string Insertar(Sucursal iSucursal) { 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_InsertarSucursal"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Char; sqlpID.Value = iSucursal.ID; sqlpID.Size = 10; sqlpID.Direction = ParameterDirection.Output; SqlParameter sqlpCR = new SqlParameter(); sqlpCR.ParameterName = "@CR"; sqlpCR.SqlDbType = SqlDbType.SmallInt; sqlpCR.Value = iSucursal.CR; SqlParameter sqlpNombre = new SqlParameter(); sqlpNombre.ParameterName = "@Nombre"; sqlpNombre.SqlDbType = SqlDbType.VarChar; sqlpNombre.Value = iSucursal.Nombre; SqlParameter sqlpDireccionZona = new SqlParameter(); sqlpDireccionZona.ParameterName = "@DireccionZona"; sqlpDireccionZona.SqlDbType = SqlDbType.VarChar; sqlpDireccionZona.Value = iSucursal.Direccionzona; SqlParameter sqlpGerenteBBVANombre = new SqlParameter(); sqlpGerenteBBVANombre.ParameterName = "@GerenteBBVANombre"; sqlpGerenteBBVANombre.SqlDbType = SqlDbType.VarChar; sqlpGerenteBBVANombre.Value = iSucursal.GerenteBBVANombre; SqlParameter sqlpGerenteBBVAAPaterno = new SqlParameter(); sqlpGerenteBBVAAPaterno.ParameterName = "@GerenteBBVAAPaterno"; sqlpGerenteBBVAAPaterno.SqlDbType = SqlDbType.VarChar; sqlpGerenteBBVAAPaterno.Value = iSucursal.GerenteBBVAAPaterno; SqlParameter sqlpGerenteBBVAAMaterno = new SqlParameter(); sqlpGerenteBBVAAMaterno.ParameterName = "@GerenteBBVAAMaterno"; sqlpGerenteBBVAAMaterno.SqlDbType = SqlDbType.VarChar; sqlpGerenteBBVAAMaterno.Value = iSucursal.GerenteBBVAAMaterno; SqlParameter sqlpSupervisorNombre = new SqlParameter(); sqlpSupervisorNombre.ParameterName = "@SupervisorNombre"; sqlpSupervisorNombre.SqlDbType = SqlDbType.VarChar; sqlpSupervisorNombre.Value = iSucursal.SupervisorNombre; SqlParameter sqlpSupervisorAPaterno = new SqlParameter(); sqlpSupervisorAPaterno.ParameterName = "@SupervisorAPaterno"; sqlpSupervisorAPaterno.SqlDbType = SqlDbType.VarChar; sqlpSupervisorAPaterno.Value = iSucursal.SupervisorAPaterno; SqlParameter sqlpSupervisorAMaterno = new SqlParameter(); sqlpSupervisorAMaterno.ParameterName = "@SupervisorAMaterno"; sqlpSupervisorAMaterno.SqlDbType = SqlDbType.VarChar; sqlpSupervisorAMaterno.Value = iSucursal.SupervisorAMaterno; SqlParameter sqlpProveedorEnergia = new SqlParameter(); sqlpProveedorEnergia.ParameterName = "@ProveedorEnergia"; sqlpProveedorEnergia.SqlDbType = SqlDbType.VarChar; sqlpProveedorEnergia.Value = iSucursal.ProveedorEnergia; SqlParameter sqlpSuperficie = new SqlParameter(); sqlpSuperficie.ParameterName = "@Superficie"; sqlpSuperficie.SqlDbType = SqlDbType.Int; sqlpSuperficie.Value = iSucursal.Superficie; SqlParameter sqlpCoordinadorNombre = new SqlParameter(); sqlpCoordinadorNombre.ParameterName = "@CoordinadorNombre"; sqlpCoordinadorNombre.SqlDbType = SqlDbType.VarChar; sqlpCoordinadorNombre.Value = iSucursal.CoordinadorNombre; SqlParameter sqlpCoordinadorAPaterno = new SqlParameter(); sqlpCoordinadorAPaterno.ParameterName = "@CoordinadorAPaterno"; sqlpCoordinadorAPaterno.SqlDbType = SqlDbType.VarChar; sqlpCoordinadorAPaterno.Value = iSucursal.CoordinadorAPaterno; SqlParameter sqlpCoordinadorAMaterno = new SqlParameter(); sqlpCoordinadorAMaterno.ParameterName = "@CoordinadorAMaterno"; sqlpCoordinadorAMaterno.SqlDbType = SqlDbType.VarChar; sqlpCoordinadorAMaterno.Value = iSucursal.CoordinadorAMaterno; SqlParameter sqlpCalle = new SqlParameter(); sqlpCalle.ParameterName = "@Calle"; sqlpCalle.SqlDbType = SqlDbType.VarChar; sqlpCalle.Value = iSucursal.Calle; SqlParameter sqlpEntreCalles = new SqlParameter(); sqlpEntreCalles.ParameterName = "@EntreCalles"; sqlpEntreCalles.SqlDbType = SqlDbType.VarChar; sqlpEntreCalles.Value = iSucursal.EntreCalles; SqlParameter sqlpNoExterior = new SqlParameter(); sqlpNoExterior.ParameterName = "@NoExterior"; sqlpNoExterior.SqlDbType = SqlDbType.VarChar; sqlpNoExterior.Value = iSucursal.NoExterior; SqlParameter sqlpNoInterior = new SqlParameter(); sqlpNoInterior.ParameterName = "@NoInterior"; sqlpNoInterior.SqlDbType = SqlDbType.VarChar; sqlpNoInterior.Value = iSucursal.NoInterior; SqlParameter sqlpCodigoPostal = new SqlParameter(); sqlpCodigoPostal.ParameterName = "@CodigoPostal"; sqlpCodigoPostal.SqlDbType = SqlDbType.Char; sqlpCodigoPostal.Size = 10; sqlpCodigoPostal.Value = iSucursal.CodigoPostal; SqlParameter sqlpColonia = new SqlParameter(); sqlpColonia.ParameterName = "@Colonia"; sqlpColonia.SqlDbType = SqlDbType.VarChar; if (iSucursal.Colonia == null) sqlpColonia.Value = DBNull.Value; else sqlpColonia.Value = iSucursal.Colonia; SqlParameter sqlpEstado = new SqlParameter(); sqlpEstado.ParameterName = "@Estado"; sqlpEstado.SqlDbType = SqlDbType.Char; sqlpEstado.Size = 2; sqlpEstado.Value = iSucursal.Estado; SqlParameter sqlpMunicipio = new SqlParameter(); sqlpMunicipio.ParameterName = "@Municipio"; sqlpMunicipio.SqlDbType = SqlDbType.Char; sqlpMunicipio.Size = 4; sqlpMunicipio.Value = iSucursal.Municipio; SqlParameter sqlpContratista = new SqlParameter(); sqlpContratista.ParameterName = "@Contratista"; sqlpContratista.SqlDbType = SqlDbType.VarChar; if (iSucursal.Contratista != null) { sqlpContratista.Value = iSucursal.Contratista; } else { sqlpContratista.Value = DBNull.Value; } SqlParameter sqlpInicioObra = new SqlParameter(); sqlpInicioObra.ParameterName = "@InicioObra"; sqlpInicioObra.SqlDbType = SqlDbType.Date; sqlpInicioObra.Value = iSucursal.InicioObra; SqlParameter sqlpFinObra = new SqlParameter(); sqlpFinObra.ParameterName = "@FinObra"; sqlpFinObra.SqlDbType = SqlDbType.Date; sqlpFinObra.Value = iSucursal.FinObra; SqlParameter sqlpSemanasObra = new SqlParameter(); sqlpSemanasObra.ParameterName = "@SemanasObra"; sqlpSemanasObra.SqlDbType = SqlDbType.SmallInt; sqlpSemanasObra.Value = iSucursal.SemanasObra; SqlParameter sqlpFechaAlta = new SqlParameter(); sqlpFechaAlta.ParameterName = "@FechaAlta"; sqlpFechaAlta.SqlDbType = SqlDbType.SmallDateTime; sqlpFechaAlta.Value = iSucursal.FechaAlta; SqlParameter sqlpEstatus = new SqlParameter(); sqlpEstatus.ParameterName = "@Estatus"; sqlpEstatus.SqlDbType = SqlDbType.VarChar; sqlpEstatus.Value = iSucursal.Estatus; SqlParameter sqlpTipoConcepto = new SqlParameter(); sqlpTipoConcepto.ParameterName = "@TipoConcepto"; sqlpTipoConcepto.SqlDbType = SqlDbType.VarChar; sqlpTipoConcepto.Value = iSucursal.TipoConcepto; SqlParameter sqlpEmpresaSupervisora = new SqlParameter(); sqlpEmpresaSupervisora.ParameterName = "@EmpresaSupervisora"; sqlpEmpresaSupervisora.SqlDbType = SqlDbType.VarChar; sqlpEmpresaSupervisora.Value = iSucursal.EmpresaSupervisora; SqlParameter sqlpTipoObra = new SqlParameter(); sqlpTipoObra.ParameterName = "@TipoObra"; sqlpTipoObra.SqlDbType = SqlDbType.VarChar; sqlpTipoObra.Value = iSucursal.TipoObra; SqlParameter sqlpCliente = new SqlParameter(); sqlpCliente.ParameterName = "@Cliente"; sqlpCliente.SqlDbType = SqlDbType.VarChar; sqlpCliente.Value = iSucursal.Cliente; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); sqlcComando.Parameters.Add(sqlpCR); sqlcComando.Parameters.Add(sqlpNombre); sqlcComando.Parameters.Add(sqlpDireccionZona); sqlcComando.Parameters.Add(sqlpGerenteBBVANombre); sqlcComando.Parameters.Add(sqlpGerenteBBVAAPaterno); sqlcComando.Parameters.Add(sqlpGerenteBBVAAMaterno); sqlcComando.Parameters.Add(sqlpSupervisorNombre); sqlcComando.Parameters.Add(sqlpSupervisorAPaterno); sqlcComando.Parameters.Add(sqlpSupervisorAMaterno); sqlcComando.Parameters.Add(sqlpProveedorEnergia); sqlcComando.Parameters.Add(sqlpSuperficie); sqlcComando.Parameters.Add(sqlpCoordinadorNombre); sqlcComando.Parameters.Add(sqlpCoordinadorAPaterno); sqlcComando.Parameters.Add(sqlpCoordinadorAMaterno); sqlcComando.Parameters.Add(sqlpCalle); sqlcComando.Parameters.Add(sqlpEntreCalles); sqlcComando.Parameters.Add(sqlpNoExterior); sqlcComando.Parameters.Add(sqlpNoInterior); sqlcComando.Parameters.Add(sqlpCodigoPostal); sqlcComando.Parameters.Add(sqlpColonia); sqlcComando.Parameters.Add(sqlpEstado); sqlcComando.Parameters.Add(sqlpMunicipio); sqlcComando.Parameters.Add(sqlpContratista); sqlcComando.Parameters.Add(sqlpInicioObra); sqlcComando.Parameters.Add(sqlpFinObra); sqlcComando.Parameters.Add(sqlpSemanasObra); sqlcComando.Parameters.Add(sqlpFechaAlta); sqlcComando.Parameters.Add(sqlpEstatus); sqlcComando.Parameters.Add(sqlpTipoConcepto); sqlcComando.Parameters.Add(sqlpEmpresaSupervisora); sqlcComando.Parameters.Add(sqlpTipoObra); 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 sqlcComando.Parameters["@ID"].Value.ToString(); } catch (Exception ex) { throw new Exception("Error capa de datos (public static int Insertar(Sucursal " + iSucursal.Nombre + ")): " + ex.Message); } }