Ejemplo n.º 1
0
        /// <summary>
        /// Método Público encargado de Guardar los Cambios en los Productos
        /// </summary>
        /// <returns></returns>
        public RetornoOperacion GuardaProductoServicio()
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Declarando variables Auxiliares
            string producto = txtProductoCarga.Visible ? txtProductoCarga.Text : txtProductoDescarga.Text;

            int id_producto_servicio = 0;

            //Validando que exista un producto seleccionado para conocer si es una edicion o insercion
            if (gvServicioProductos.SelectedIndex != -1)
            {
                //Obtenemos el id de producto servicio
                id_producto_servicio = Convert.ToInt32(gvServicioProductos.SelectedDataKey["Id"]);
            }

            //Asignamos el resultado de la validacion
            result = validaGuardaProductoServicio(id_producto_servicio);

            //Realizamos la validación de actualizacion
            if (result.OperacionExitosa)
            {
                //Validando que exista un producto seleccionado para conocer si es una edicion o insercion
                if (id_producto_servicio != 0)
                {
                    //Instanciando Producto de Servicio
                    using (ServicioProducto sp = new ServicioProducto(id_producto_servicio))
                    {
                        //Validando que el registro sea Valido
                        if (sp.id_servicio_producto != 0)
                        {
                            //Actualizando Producto
                            result = sp.EditaServicioProducto(sp.id_servicio, Convert.ToInt32(ddlParadas.SelectedValue), Convert.ToByte(ddlTipo.SelectedValue),
                                                              Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(producto, "ID:", 1)),
                                                              Convert.ToInt32(ddlTipo.SelectedValue) == 2 || Convert.ToInt32(ddlTipo.SelectedValue) == 3 ? Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtCantidad.Text, "0")) * -1 : Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtCantidad.Text, "0")),
                                                              Convert.ToInt32(ddlUnidad.SelectedValue), Convert.ToInt32(ddlTipo.SelectedValue) == 2 || Convert.ToInt32(ddlTipo.SelectedValue) == 3 ? Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtPeso.Text, "0")) * -1 : Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtPeso.Text, "0")),
                                                              Convert.ToInt32(ddlUnidadPeso.SelectedValue),
                                                              ((Usuario)Session["usuario"]).id_usuario);
                        }
                        else
                        {
                            //Personalizando Excepcion
                            result = new RetornoOperacion("El producto no pudo ser recuperado desde la BD, puede ser que ya no exista.");
                        }
                    }
                }
                else
                {
                    //Insertando Registro
                    result = ServicioProducto.InsertaServicioProducto(this._id_servicio, Convert.ToInt32(ddlParadas.SelectedValue),
                                                                      Convert.ToByte(ddlTipo.SelectedValue), Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(producto, "ID:", 1)),
                                                                      Convert.ToInt32(ddlTipo.SelectedValue) == 2 || Convert.ToInt32(ddlTipo.SelectedValue) == 3 ? Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtCantidad.Text, "0")) * -1 : Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtCantidad.Text, "0")),
                                                                      Convert.ToInt32(ddlUnidad.SelectedValue), Convert.ToInt32(ddlTipo.SelectedValue) == 2 || Convert.ToInt32(ddlTipo.SelectedValue) == 3 ? Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtPeso.Text, "0")) * -1 : Convert.ToDecimal(Cadena.VerificaCadenaVacia(txtPeso.Text, "0")),
                                                                      Convert.ToInt32(ddlUnidadPeso.SelectedValue), ((Usuario)Session["usuario"]).id_usuario);
                }
            }
            //Validando que la operacion haya sido exitosa
            if (result.OperacionExitosa)
            {
                //Inicializando Control
                InicializaControl(this._id_servicio, this._id_compania);
            }

            //Mostrando Mensaje de Error
            lblError.Text = result.Mensaje;

            //Devolviendo Resultado Obtenido
            return(result);
        }