/// <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); }