SADCG SADCG Sistema de Administración y Distribución de Contenidos Gráficos Estándares de Programación 1 SADCG Estándares de Programación Antes de empezar a desarrollar la aplicación, se establecieron las siguientes consideraciones para el manejo de los nombres de los atributos, métodos y las clases que van a formar parte del sistema. 1. Las variables de los parámetros de BE.CotizadorWeb van a estar precedidos por la asignatura “_be”, y las variables de los parámetros para BL.CotizadorWeb van a estar precedidos por la asignatura “_bl”. BLMenu _blMenu = new BLMenu(); BEUsuario _beUsuario = (BEUsuario)Session["Usuario"]; 2. Los formularios web aspx utilizados en el diseño de las interfaces van a tener los siguiente prefijos: txt: para el tipo de elemento Textbox. <asp:TextBox ID="txtStock" runat="server" Width="98px"></asp:TextBox> btn: para el tipo de elemento Button. <asp:Button ID="btnEliminar" runat="server" Text="Eliminar" TabIndex="13" Visible="false" onclick="btnEliminar_Click" /> 2 SADCG ddl: para el tipo de elemento Dropdownlist. <asp:DropDownList ID="ddlMoneda" runat="server"> <asp:ListItem>USD</asp:ListItem> <asp:ListItem>MN</asp:ListItem> </asp:DropDownList> gv: para el tipo de elemento Gridview. <asp:GridView ID="gvProductos" runat="server" AutoGenerateColumns="false" onrowdatabound="gvProductos_RowDataBound"> rbt: para el tipo de elemento Radiobutton. <asp:RadioButton ID="rbtProducto" runat="server" AutoPostBack="True" oncheckedchanged="rbtProducto_CheckedChange d" /> hpl: para el tipo de elemento Hiperlink. <asp:HyperLink ID="hplFoto" runat="server">HyperLink</asp:HyperLink> fup: para el tipo de elemento FileUpload. <asp:FileUpload ID="fupArchivoInformativo" runat="server" /> hid: para el tipo de elemento HiddenField. <asp:HiddenField ID="hidArchivoInformativo" runat="server" /> 3 SADCG 3. Se utilizaron regiones dentro de la programación para mejorar el orden del código fuente. 4 SADCG 4. El nombre de los métodos de las clases van a ser verbos (indica la acción a realizar) seguido por la información que se va a manipular. 5. Cuando se definen variables de tipo de dato, van precedidos por “obj” si pertenecen a DL.CotizadorWeb o “objE” si pertenecen a BE.CotizadorWeb. DLProducto obj = new DLProducto(); BEProducto objE = new BEProducto(); objE.Codigo = txtCodigo.Text; objE.Nombre = txtNombre.Text; objE.Stock = Convert.ToInt32(txtStock.Text); objE.Moneda = ddlMoneda.SelectedValue; objE.Descripcion = txtDescripcion.Text; 5 SADCG Acceso a Datos 1. Conexión a la base de datos Se definió la variable “CadCon”, ésta contiene la conexión a la base de datos del sistema. public static String fnConexion() { Return ConfigurationManager.ConnectionStrings["CadCon"].ConnectionString; } Esta variable es utilizada por el método SqlHelper cada vez que se accede a la base de datos del sistema. La variable “BaseConnectionString” se define en el archivo web.config ubicado en UI.CotizadorWeb. <add name="BaseConnectionString" connectionString="data source=.; initial catalog=CotizadorWebDB; integrated security=true" providerName="System.Data.SqlClient"/> 2. Utilización de CSHelper El acceso a la base de datos del sistema se va a realizar en UI.CotizadorWeb; se van a utilizar para ello Stored Procedures y la clase SqlHelper del componente Microsoft Data Access Application Blocks. Al usar CSHelper se busca reducir el 6 SADCG número de líneas de código al momento de implementar los accesos a la base de datos del sistema. 3. Uso de Stored Procedures Se van a usar stored procedures en los métodosEl acceso a la base de datos del sistema se va a realizar en UI.CotizadorWeb; se van a utilizar para ello Stored Procedures y la clase CSHelper del componente Microsoft Data Access Application Blocks. Al usar CSHelper se busca reducir el número de líneas de código al momento de implementar los accesos a la base de datos del sistema. using (SqlCommand com = con.CreateCommand()) { con.Open(); com.CommandText = "INSERT INTO Cliente VALUES (@Nombre,@Apellidos,@Usuario,@Contrasena,@Institucion,@DptoInstituci on,@Cargo,@Direccion,@Distrito,@Ciudad,@Pais,@Celular,@Telefono,@Fax ,@Email,@Comentarios)"; com.Parameters.AddWithValue("@Nombre", nombre); com.Parameters.AddWithValue("@Apellidos", apellidos); com.Parameters.AddWithValue("@Usuario", usuario); com.Parameters.AddWithValue("@Contrasena", contrasena); com.Parameters.AddWithValue("@Institucion", institucion); com.Parameters.AddWithValue("@DptoInstitucion", dptoinstitucion); com.Parameters.AddWithValue("@Cargo", cargo); com.Parameters.AddWithValue("@Direccion", direccion); com.Parameters.AddWithValue("@Distrito", distrito); com.Parameters.AddWithValue("@Ciudad", ciudad); com.Parameters.AddWithValue("@Pais", pais); com.Parameters.AddWithValue("@Celular", celular); com.Parameters.AddWithValue("@Telefono", telefono); com.Parameters.AddWithValue("@Fax", fax); com.Parameters.AddWithValue("@Email", email); com.Parameters.AddWithValue("@Comentarios", comentarios); i = com.ExecuteNonQuery(); } 7