Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
 /// <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));
        }