/// <summary>
        /// Método que actualiza un nuevo registro a la tabla de Proveedores
        /// </summary>
        /// <param name="iProveedor"></param>
        public static int Actualizar(Proveedor uProveedor)
        {
            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_ActualizarProveedor";

                //2. Declarar los parametros
                SqlParameter sqlpID = new SqlParameter();
                sqlpID.ParameterName = "@ID";
                sqlpID.SqlDbType = SqlDbType.Char;
                sqlpID.Size = 7;
                sqlpID.Value = uProveedor.ID;

                SqlParameter sqlpNombre = new SqlParameter();
                sqlpNombre.ParameterName = "@Nombre";
                sqlpNombre.SqlDbType = SqlDbType.VarChar;
                sqlpNombre.Value = uProveedor.Nombre;

                SqlParameter sqlpRFC = new SqlParameter();
                sqlpRFC.ParameterName = "@RFC";
                sqlpRFC.SqlDbType = SqlDbType.VarChar;
                sqlpRFC.Value = uProveedor.RFC;

                SqlParameter sqlpContactoNombre = new SqlParameter();
                sqlpContactoNombre.ParameterName = "@ContactoNombre";
                sqlpContactoNombre.SqlDbType = SqlDbType.VarChar;
                sqlpContactoNombre.Value = uProveedor.ContactoNombre;

                SqlParameter sqlpContactoAPaterno = new SqlParameter();
                sqlpContactoAPaterno.ParameterName = "@ContactoAPaterno";
                sqlpContactoAPaterno.SqlDbType = SqlDbType.VarChar;
                sqlpContactoAPaterno.Value = uProveedor.ContactoAPaterno;

                SqlParameter sqlpContactoAMaterno = new SqlParameter();
                sqlpContactoAMaterno.ParameterName = "@ContactoAMaterno";
                sqlpContactoAMaterno.SqlDbType = SqlDbType.VarChar;
                sqlpContactoAMaterno.Value = uProveedor.ContactoAMaterno;

                SqlParameter sqlpCorreo = new SqlParameter();
                sqlpCorreo.ParameterName = "@Correo";
                sqlpCorreo.SqlDbType = SqlDbType.VarChar;
                sqlpCorreo.Value = uProveedor.Correo;

                SqlParameter sqlpCalle = new SqlParameter();
                sqlpCalle.ParameterName = "@Calle";
                sqlpCalle.SqlDbType = SqlDbType.VarChar;
                sqlpCalle.Value = uProveedor.Calle;

                SqlParameter sqlpEntreCalles = new SqlParameter();
                sqlpEntreCalles.ParameterName = "@EntreCalles";
                sqlpEntreCalles.SqlDbType = SqlDbType.VarChar;
                sqlpEntreCalles.Value = uProveedor.EntreCalles;

                SqlParameter sqlpNoExterior = new SqlParameter();
                sqlpNoExterior.ParameterName = "@NoExterior";
                sqlpNoExterior.SqlDbType = SqlDbType.VarChar;
                sqlpNoExterior.Value = uProveedor.NoExterior;

                SqlParameter sqlpNoInterior = new SqlParameter();
                sqlpNoInterior.ParameterName = "@NoInterior";
                sqlpNoInterior.SqlDbType = SqlDbType.VarChar;
                sqlpNoInterior.Value = uProveedor.NoInterior;

                SqlParameter sqlpCodigoPostal = new SqlParameter();
                sqlpCodigoPostal.ParameterName = "@CodigoPostal";
                sqlpCodigoPostal.SqlDbType = SqlDbType.Int;
                sqlpCodigoPostal.Value = uProveedor.CodigoPostal;

                SqlParameter sqlpColonia = new SqlParameter();
                sqlpColonia.ParameterName = "@Colonia";
                sqlpColonia.SqlDbType = SqlDbType.VarChar;

                if (uProveedor.Colonia == null)
                    sqlpColonia.Value = DBNull.Value;
                else
                    sqlpColonia.Value = uProveedor.Colonia;

                SqlParameter sqlpEstado = new SqlParameter();
                sqlpEstado.ParameterName = "@Estado";
                sqlpEstado.SqlDbType = SqlDbType.Char;
                sqlpEstado.Size = 2;
                sqlpEstado.Value = uProveedor.Estado;

                SqlParameter sqlpMunicipio = new SqlParameter();
                sqlpMunicipio.ParameterName = "@Municipio";
                sqlpMunicipio.SqlDbType = SqlDbType.Char;
                sqlpMunicipio.Size = 4;
                sqlpMunicipio.Value = uProveedor.Municipio;

                SqlParameter sqlpRutaLogo = new SqlParameter();
                sqlpRutaLogo.ParameterName = "@RutaLogo";
                sqlpRutaLogo.SqlDbType = SqlDbType.VarChar;
                if (uProveedor.Rutalogo != null || uProveedor.Rutalogo.Trim().Length > 0)
                {
                    sqlpRutaLogo.Value = uProveedor.Rutalogo;
                }
                else
                {
                    sqlpRutaLogo.Value = "";
                }
                //3. Agregar los parametros al comando
                sqlcComando.Parameters.Add(sqlpID);
                sqlcComando.Parameters.Add(sqlpNombre);
                sqlcComando.Parameters.Add(sqlpRFC);
                sqlcComando.Parameters.Add(sqlpContactoNombre);
                sqlcComando.Parameters.Add(sqlpContactoAPaterno);
                sqlcComando.Parameters.Add(sqlpContactoAMaterno);
                sqlcComando.Parameters.Add(sqlpCorreo);
                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(sqlpRutaLogo);

                //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(Proveedor " + uProveedor.ID + ")): " + ex.Message);
            }
        }
Example #2
0
 /// <summary>
 /// Método que inserta un nuevo registro a la tabla de Proveedores
 /// </summary>
 /// <param name="iProveedor"></param>
 public static string Insertar(Proveedor iProveedor)
 {
     return ProveedorDataAccess.Insertar(iProveedor);
 }
        /// <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 strcookieEditarProveedor = Cookies.GetCookie("cookieEditarProveedor").Value;
            Dictionary<string, string> dRegistro = JSON.Deserialize<Dictionary<string, string>>(strRegistro);
            Proveedor oProveedor = new Proveedor();

            //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 "txtfNombre":
                        oProveedor.Nombre = sd.Value;
                        break;
                    case "txtfRFC":
                        oProveedor.RFC = sd.Value;
                        break;
                    case "txtfContactoNombre":
                        oProveedor.ContactoNombre = sd.Value;
                        break;
                    case "txtfContactoAPaterno":
                        oProveedor.ContactoAPaterno = sd.Value;
                        break;
                    case "txtfContactoAMaterno":
                        oProveedor.ContactoAMaterno = sd.Value;
                        break;
                    case "txtfCorreo":
                        oProveedor.Correo = sd.Value;
                        break;
                    case "txtfCalle":
                        oProveedor.Calle = sd.Value;
                        break;
                    case "txtfEntreCalles":
                        oProveedor.EntreCalles = sd.Value;
                        break;
                    case "txtfNoExterior":
                        oProveedor.NoExterior = sd.Value;
                        break;
                    case "txtfNoInterior":
                        oProveedor.NoInterior = sd.Value;
                        break;
                    case "txtfCodigoPostal":
                        oProveedor.CodigoPostal = Convert.ToInt32(sd.Value);
                        break;
                    case "cmbColonia":
                        oProveedor.Colonia = sd.Value;
                        break;
                    case "cmbEstado":
                        oProveedor.Estado = sd.Value;
                        break;
                    case "cmbMunicipio":
                        oProveedor.Municipio = sd.Value;
                        break;
                }
            }

            string logo = e.ExtraParams["logo"];
            string strImagen = fuImagenProveedor.FileName;
            string strDireccionDisplay;

            //4. Validar si es nuevo o es uno existente
            if (strcookieEditarProveedor.Equals("Nuevo"))
            {
                oProveedor.Rutalogo = logo != null || !logo.Equals("") ? logo : "";

                //5. Insertar en la base de datos
                oProveedor.ID = ProveedorBusiness.Insertar(oProveedor);
                if (logo != null && !logo.Trim().Equals(""))
                {
                    string strDireccion = Server.MapPath(" ") + "\\images\\proveedores\\" + oProveedor.ID + "\\";
                    if (Directory.Exists(strDireccion))
                    {
                        fuImagenProveedor.PostedFile.SaveAs(strDireccion + logo);
                    }
                    else
                    {
                        Directory.CreateDirectory(strDireccion);
                        fuImagenProveedor.PostedFile.SaveAs(strDireccion + logo);
                    }
                }
                //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'>Proveedor registrado con ID: <br/>" + oProveedor.ID + ".</p>", success).Show();
            }
            else
            {
                oProveedor.ID = strcookieEditarProveedor;
                string strDireccion = Server.MapPath(" ") + "\\images\\proveedores\\" + oProveedor.ID + "\\";
                if (oProveedor.ID != null)
                {
                    Proveedor oProveedorRef = ProveedorBusiness.ObtenerProveedorPorID(oProveedor.ID);
                    //Si el upload file esta lleno cuando se actualiza se guarda la imagen en el directorio
                    if (!strImagen.Equals(""))
                    {
                        if (Directory.Exists(strDireccion))
                        {
                            fuImagenProveedor.PostedFile.SaveAs(strDireccion + logo);
                        }
                        else
                        {
                            Directory.CreateDirectory(strDireccion);
                            fuImagenProveedor.PostedFile.SaveAs(strDireccion + logo);
                        }
                        if (oProveedorRef.Rutalogo != null)
                        {
                            File.Delete(strDireccion + oProveedorRef.Rutalogo);
                        }//llenamos el objeto con la ruta
                        oProveedor.Rutalogo = logo;
                        //Mostramos la imagen
                        strDireccionDisplay = "images\\proveedores\\" + oProveedor.ID + "\\";
                        imgLogo.ImageUrl = strDireccionDisplay + oProveedor.Rutalogo;
                    }
                    //Si no se escoge otra imagen se deja la que ya estaba
                    else
                    {
                        oProveedor.Rutalogo = oProveedorRef.Rutalogo;
                        strDireccionDisplay = "images\\proveedores\\" + oProveedor.ID + "\\";
                        imgLogo.ImageUrl = strDireccionDisplay + oProveedorRef.Rutalogo;
                    }
                }
                //7. Actualizar los datos del proveedor
                ProveedorBusiness.Actualizar(oProveedor);
                //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 del proveedor <br/>" + oProveedor.ID + ".</p>", success).Show();
            }
        }
Example #4
0
 /// <summary>
 /// Método que actualiza un nuevo registro a la tabla de Proveedores
 /// </summary>
 /// <param name="uProveedor"></param>
 /// <returns></returns>
 public static int Actualizar(Proveedor uProveedor)
 {
     return ProveedorDataAccess.Actualizar(uProveedor);
 }