/// <summary> /// Método que inserta un nuevo registro de Clientes /// </summary> /// <param name="iCliente"></param> /// <returns></returns> public static string Insertar(Cliente iCliente) { return ClienteDataAccess.Insertar(iCliente); }
/// <summary> /// Método que actualiza un nuevo registro a un Cliente para las Solicitudes de préstamo /// </summary> /// <param name="uCliente"></param> /// <returns></returns> public static int ActualizarSolicitud(Cliente uCliente) { return ClienteDataAccess.ActualizarSolicitud(uCliente); }
/// <summary> /// Método que actualiza un nuevo registro a la tabla de Clientes para la Solicitudes de Préstamo /// </summary> /// <param name="uCliente"></param> public static int ActualizarSolicitud(Cliente uCliente) { 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_ActualizarClienteSolicitudPrestamo"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Char; sqlpID.Size = 8; sqlpID.Value = uCliente.ID; //SqlParameter sqlpRFC = new SqlParameter(); //sqlpRFC.ParameterName = "@RFC"; //sqlpRFC.SqlDbType = SqlDbType.VarChar; //sqlpRFC.Value = uCliente.RFC; //SqlParameter sqlpEstadoCivil = new SqlParameter(); //sqlpEstadoCivil.ParameterName = "@EstadoCivil"; //sqlpEstadoCivil.SqlDbType = SqlDbType.VarChar; //if (uCliente.EstadoCivil == null) // sqlpEstadoCivil.Value = DBNull.Value; //else // sqlpEstadoCivil.Value = uCliente.EstadoCivil; SqlParameter sqlpCorreo = new SqlParameter(); sqlpCorreo.ParameterName = "@Correo"; sqlpCorreo.SqlDbType = SqlDbType.VarChar; sqlpCorreo.Value = uCliente.Correo; SqlParameter sqlpTelefono = new SqlParameter(); sqlpTelefono.ParameterName = "@Telefono"; sqlpTelefono.SqlDbType = SqlDbType.VarChar; sqlpTelefono.Value = uCliente.Telefono; SqlParameter sqlpTelefonoMovil = new SqlParameter(); sqlpTelefonoMovil.ParameterName = "@TelefonoMovil"; sqlpTelefonoMovil.SqlDbType = SqlDbType.VarChar; sqlpTelefonoMovil.Value = uCliente.TelefonoMovil; SqlParameter sqlpCalle = new SqlParameter(); sqlpCalle.ParameterName = "@Calle"; sqlpCalle.SqlDbType = SqlDbType.VarChar; sqlpCalle.Value = uCliente.Calle; SqlParameter sqlpNoExterior = new SqlParameter(); sqlpNoExterior.ParameterName = "@NoExterior"; sqlpNoExterior.SqlDbType = SqlDbType.VarChar; sqlpNoExterior.Value = uCliente.NoExterior; SqlParameter sqlpNoInterior = new SqlParameter(); sqlpNoInterior.ParameterName = "@NoInterior"; sqlpNoInterior.SqlDbType = SqlDbType.VarChar; sqlpNoInterior.Value = uCliente.NoInterior; SqlParameter sqlpColonia = new SqlParameter(); sqlpColonia.ParameterName = "@Colonia"; sqlpColonia.SqlDbType = SqlDbType.Char; sqlpColonia.Size = 10; if (uCliente.Colonia == null || uCliente.Colonia.Equals(string.Empty)) sqlpColonia.Value = DBNull.Value; else sqlpColonia.Value = uCliente.Colonia; SqlParameter sqlpCodigoPostal = new SqlParameter(); sqlpCodigoPostal.ParameterName = "@CodigoPostal"; sqlpCodigoPostal.SqlDbType = SqlDbType.Int; sqlpCodigoPostal.Value = uCliente.CodigoPostal; SqlParameter sqlpEntreCalles = new SqlParameter(); sqlpEntreCalles.ParameterName = "@EntreCalles"; sqlpEntreCalles.SqlDbType = SqlDbType.VarChar; sqlpEntreCalles.Value = uCliente.EntreCalles; SqlParameter sqlpEstado = new SqlParameter(); sqlpEstado.ParameterName = "@Estado"; sqlpEstado.SqlDbType = SqlDbType.Char; sqlpEstado.Size = 2; sqlpEstado.Value = uCliente.Estado; SqlParameter sqlpMunicipio = new SqlParameter(); sqlpMunicipio.ParameterName = "@Municipio"; sqlpMunicipio.SqlDbType = SqlDbType.Char; sqlpMunicipio.Size = 4; sqlpMunicipio.Value = uCliente.Municipio; //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); //sqlcComando.Parameters.Add(sqlpRFC); //sqlcComando.Parameters.Add(sqlpEstadoCivil); sqlcComando.Parameters.Add(sqlpCorreo); sqlcComando.Parameters.Add(sqlpTelefono); sqlcComando.Parameters.Add(sqlpTelefonoMovil); sqlcComando.Parameters.Add(sqlpCalle); sqlcComando.Parameters.Add(sqlpNoExterior); sqlcComando.Parameters.Add(sqlpNoInterior); //sqlcComando.Parameters.Add(sqlpColonia); sqlcComando.Parameters.Add(sqlpCodigoPostal); sqlcComando.Parameters.Add(sqlpEntreCalles); //sqlcComando.Parameters.Add(sqlpEstado); //sqlcComando.Parameters.Add(sqlpMunicipio); //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 result; } catch (Exception ex) { throw new Exception("Error capa de datos (public static int ActualizarSolicitud(Cliente " + uCliente.ID + ")): " + ex.Message); } }
/// <summary> /// Método que inserta un nuevo registro a la tabla de Clientes /// </summary> /// <param name="iCliente"></param> public static string Insertar(Cliente iCliente) { 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_InsertarCliente"; //2. Declarar los parametros SqlParameter sqlpID = new SqlParameter(); sqlpID.ParameterName = "@ID"; sqlpID.SqlDbType = SqlDbType.Char; sqlpID.Size = 8; sqlpID.Direction = ParameterDirection.Output; SqlParameter sqlpNombre = new SqlParameter(); sqlpNombre.ParameterName = "@Nombre"; sqlpNombre.SqlDbType = SqlDbType.VarChar; sqlpNombre.Value = iCliente.Nombre; SqlParameter sqlpAPaterno = new SqlParameter(); sqlpAPaterno.ParameterName = "@APaterno"; sqlpAPaterno.SqlDbType = SqlDbType.VarChar; sqlpAPaterno.Value = iCliente.APaterno; SqlParameter sqlpAMaterno = new SqlParameter(); sqlpAMaterno.ParameterName = "@AMaterno"; sqlpAMaterno.SqlDbType = SqlDbType.VarChar; sqlpAMaterno.Value = iCliente.AMaterno; SqlParameter sqlpCorreo = new SqlParameter(); sqlpCorreo.ParameterName = "@Correo"; sqlpCorreo.SqlDbType = SqlDbType.VarChar; sqlpCorreo.Value = iCliente.Correo; SqlParameter sqlpTelefono = new SqlParameter(); sqlpTelefono.ParameterName = "@Telefono"; sqlpTelefono.SqlDbType = SqlDbType.VarChar; sqlpTelefono.Value = iCliente.Telefono; SqlParameter sqlpTelefonoMovil = new SqlParameter(); sqlpTelefonoMovil.ParameterName = "@TelefonoMovil"; sqlpTelefonoMovil.SqlDbType = SqlDbType.VarChar; sqlpTelefonoMovil.Value = iCliente.TelefonoMovil; SqlParameter sqlpCalle = new SqlParameter(); sqlpCalle.ParameterName = "@Calle"; sqlpCalle.SqlDbType = SqlDbType.VarChar; sqlpCalle.Value = iCliente.Calle; SqlParameter sqlpNoExterior = new SqlParameter(); sqlpNoExterior.ParameterName = "@NoExterior"; sqlpNoExterior.SqlDbType = SqlDbType.VarChar; sqlpNoExterior.Value = iCliente.NoExterior; SqlParameter sqlpNoInterior = new SqlParameter(); sqlpNoInterior.ParameterName = "@NoInterior"; sqlpNoInterior.SqlDbType = SqlDbType.VarChar; sqlpNoInterior.Value = iCliente.NoInterior; SqlParameter sqlpCodigoPostal = new SqlParameter(); sqlpCodigoPostal.ParameterName = "@CodigoPostal"; sqlpCodigoPostal.SqlDbType = SqlDbType.Char; sqlpCodigoPostal.Value = iCliente.CodigoPostal; SqlParameter sqlpEntreCalles = new SqlParameter(); sqlpEntreCalles.ParameterName = "@EntreCalles"; sqlpEntreCalles.SqlDbType = SqlDbType.VarChar; sqlpEntreCalles.Value = iCliente.EntreCalles; SqlParameter sqlpFechaAlta = new SqlParameter(); sqlpFechaAlta.ParameterName = "@FechaAlta"; sqlpFechaAlta.SqlDbType = SqlDbType.SmallDateTime; sqlpFechaAlta.Value = iCliente.FechaAlta; SqlParameter sqlpEstatus = new SqlParameter(); sqlpEstatus.ParameterName = "@Estatus"; sqlpEstatus.SqlDbType = SqlDbType.VarChar; sqlpEstatus.Value = iCliente.Estatus; SqlParameter sqlpUsuario = new SqlParameter(); sqlpUsuario.ParameterName = "@Usuario"; sqlpUsuario.SqlDbType = SqlDbType.VarChar; sqlpUsuario.Value = iCliente.Usuario; SqlParameter sqlpRutaLogo = new SqlParameter(); sqlpRutaLogo.ParameterName = "@RutaLogo"; sqlpRutaLogo.SqlDbType = SqlDbType.VarChar; sqlpRutaLogo.Value = iCliente.RutaLogo; SqlParameter sqlpElaboro = new SqlParameter(); sqlpElaboro.ParameterName = "@Elaboro"; sqlpElaboro.SqlDbType = SqlDbType.VarChar; sqlpElaboro.Value = iCliente.Elaboro; SqlParameter sqlpReviso = new SqlParameter(); sqlpReviso.ParameterName = "@Reviso"; sqlpReviso.SqlDbType = SqlDbType.VarChar; sqlpReviso.Value = iCliente.Reviso; SqlParameter sqlpAutorizo = new SqlParameter(); sqlpAutorizo.ParameterName = "@Autorizo"; sqlpAutorizo.SqlDbType = SqlDbType.VarChar; sqlpAutorizo.Value = iCliente.Autorizo; SqlParameter sqlpProveedor = new SqlParameter(); sqlpProveedor.ParameterName = "@Proveedor"; sqlpProveedor.SqlDbType = SqlDbType.Char; if (iCliente.Proveedor != null && !iCliente.Proveedor.Trim().Equals("")) { sqlpProveedor.Value = iCliente.Proveedor; } else { sqlpProveedor.Value = DBNull.Value; } //3. Agregar los parametros al comando sqlcComando.Parameters.Add(sqlpID); sqlcComando.Parameters.Add(sqlpNombre); sqlcComando.Parameters.Add(sqlpAPaterno); sqlcComando.Parameters.Add(sqlpAMaterno); sqlcComando.Parameters.Add(sqlpCorreo); sqlcComando.Parameters.Add(sqlpTelefono); sqlcComando.Parameters.Add(sqlpTelefonoMovil); sqlcComando.Parameters.Add(sqlpCalle); sqlcComando.Parameters.Add(sqlpNoExterior); sqlcComando.Parameters.Add(sqlpNoInterior); sqlcComando.Parameters.Add(sqlpCodigoPostal); sqlcComando.Parameters.Add(sqlpEntreCalles); sqlcComando.Parameters.Add(sqlpFechaAlta); sqlcComando.Parameters.Add(sqlpEstatus); sqlcComando.Parameters.Add(sqlpUsuario); sqlcComando.Parameters.Add(sqlpRutaLogo); sqlcComando.Parameters.Add(sqlpElaboro); sqlcComando.Parameters.Add(sqlpReviso); sqlcComando.Parameters.Add(sqlpAutorizo); sqlcComando.Parameters.Add(sqlpProveedor); //4. Abrir la conexión sqlcComando.Connection.Open(); //5. Ejecutar la instrucción INSERT que regresa un dato que es el ID string result =Convert.ToString(sqlcComando.ExecuteScalar()); //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 Insertar(Cliente " + iCliente.Nombre + ")): " + ex.Message); } }
/// <summary> /// Evento de clic al botón de 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 //3. Obtener los parametros de la Forma string strRegistro = e.ExtraParams["registro"]; string strUsuario = e.ExtraParams["usuario"]; string strcookieEditarCliente = Cookies.GetCookie("cookieEditarCliente").Value; Dictionary<string, string> dRegistro = JSON.Deserialize<Dictionary<string, string>>(strRegistro); Cliente oCliente = new Cliente(); //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 cliente case "txtfNombre": oCliente.Nombre = sd.Value; break; case "txtfAPaterno": oCliente.APaterno = sd.Value; break; case "txtfAMaterno": oCliente.AMaterno = sd.Value; break; case "txtfCorreo": oCliente.Correo = sd.Value; break; case "txtfTelefono": oCliente.Telefono = sd.Value; break; case "txtfTelefonoMovil": oCliente.TelefonoMovil = sd.Value; break; case "txtfCalle": oCliente.Calle = sd.Value; break; case "txtfNoExterior": oCliente.NoExterior = sd.Value; break; case "txtfNoInterior": oCliente.NoInterior = sd.Value; break; case "txtColonia": oCliente.Colonia = sd.Value; break; case "txtfCodigoPostal": oCliente.CodigoPostal = sd.Value; break; case "txtfEntreCalles": oCliente.EntreCalles = sd.Value; break; case "cmbEstado": oCliente.Estado = sd.Value; break; case "cmbMunicipio": oCliente.Municipio = sd.Value; break; case "cmbEstatus": oCliente.Estatus = sd.Value; break; case "txtElaboro": oCliente.Elaboro = sd.Value.ToString().Trim().Length > 0 ? sd.Value : ""; break; case "txtReviso": oCliente.Reviso = sd.Value.ToString().Trim().Length > 0 ? sd.Value : ""; break; case "txtAutorizo": oCliente.Autorizo = sd.Value.ToString().Trim().Length > 0 ? sd.Value : ""; break; case "cmbProveedor": oCliente.Proveedor = sd.Value.ToString().Trim().Length > 0 ? sd.Value : ""; break; } } string logo = e.ExtraParams["logo"]; string strImagen = fuImagenCliente.FileName; //Cadena para mostrar en el display string strDireccionDisplay; UsuarioBusiness.checkValidSession(this); //5. Complementar datos if (strcookieEditarCliente.Equals("Nuevo")) { Usuario oUsuario = (Usuario)Session["Usuario"]; oCliente.FechaAlta = DateTime.Now; oCliente.Estatus = "ALTA"; oCliente.Usuario = oUsuario.ID; //Si el logo viene vacio lo dejamos con "" oCliente.RutaLogo = logo != null || !logo.Equals("") ? logo : ""; //Valida si el campo no esta vacio para poder insertarlo de lo contrario lo deja nulo if (logo != null && !logo.Trim().Equals("")) { string strDireccion = Server.MapPath(" ") + "\\images\\clientes\\" + oCliente.ID + "\\"; if (Directory.Exists(strDireccion)) { fuImagenCliente.PostedFile.SaveAs(strDireccion + logo); } else { Directory.CreateDirectory(strDireccion); fuImagenCliente.PostedFile.SaveAs(strDireccion + logo); } } //Validamos que se inserte el id del codigo postal string strCP = Cookies.GetCookie("cookieCP").Value; //Si no esta vacio insertamos el cp if (!strCP.Trim().Equals("")) { oCliente.RCodigoPostal = CodigoPostalBusiness.ObtenerCodigoPostalPorID(Cookies.GetCookie("cookieCP").Value); oCliente.CodigoPostal = oCliente.RCodigoPostal.Id; } //Insertamos el cliente oCliente.ID = ClienteBusiness.Insertar(oCliente); //6. Mandar parametro (ID del Cliente) } //Cuando actualizamo else { //Id del cliente oCliente.ID = strcookieEditarCliente; //Referencia de los valores iniciales Cliente oClienteRef = ClienteBusiness.ObtenerClientePorID(strcookieEditarCliente); //Se valida que el codigo postal no este vacio string strCP = Cookies.GetCookie("cookieCP").Value; if (!strCP.Trim().Equals("")) { oCliente.RCodigoPostal = CodigoPostalBusiness.ObtenerCodigoPostalPorID(Cookies.GetCookie("cookieCP").Value); oCliente.CodigoPostal = oCliente.RCodigoPostal.Id; } //Si el upload file esta lleno cuando se actualiza se guarda la imagen en el directorio if (!strImagen.Equals("")) { string strDireccion = Server.MapPath(" ") + "\\images\\clientes\\" + oCliente.ID + "\\"; if (Directory.Exists(strDireccion)) { fuImagenCliente.PostedFile.SaveAs(strDireccion + logo); } else { Directory.CreateDirectory(strDireccion); fuImagenCliente.PostedFile.SaveAs(strDireccion + logo); } if (oClienteRef.RutaLogo != null) { File.Delete(strDireccion + oClienteRef.RutaLogo); } //llenamos el objeto con la ruta oCliente.RutaLogo = logo; //Mostramos la imagen strDireccionDisplay = "images\\clientes\\" + oCliente.ID + "\\"; imgNormal.ImageUrl = strDireccionDisplay + oCliente.RutaLogo; } //Si no se escoge otra imagen se deja la que ya estaba else { oCliente.RutaLogo = oClienteRef.RutaLogo; strDireccionDisplay = "images\\clientes\\" + oCliente.ID + "\\"; imgNormal.ImageUrl = strDireccionDisplay + oClienteRef.RutaLogo; } ClienteBusiness.Actualizar(oCliente); } e.ExtraParamsResponse.Add(new Ext.Net.Parameter("registro", oCliente.ID, ParameterMode.Value)); }