/// <summary> /// Evento que Guarda el detalle de Volumetrias /// </summary> /// <param name="lRevisionD"></param> /// <param name="oRevisionForma"></param> private void GuardarDetalleVolumetria(List <VolumetriaD> lVolumetriaD, Volumetria oVolumetriaForma) { //1. Insertar los datos del detalle foreach (VolumetriaD sd in lVolumetriaD) { //2. Validar que el objeto no venga en blanco if (sd.ConceptoID.Equals(string.Empty) || sd.Cantidad.Equals(string.Empty) || sd.Utilizada == 0) { continue; } else { sd.Volumetria = oVolumetriaForma.ID; VolumetriaDBusiness.Insertar(sd); PreciarioConceptoBusiness.Actualizar(sd.ConceptoID, sd.Utilizada, sd.Volumetria); } } }
/// <summary> /// Evento de clic del botón Afectar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void imgbtnAfectar_Click(object sender, DirectEventArgs e) { //1. Obtener datos de la Forma y saber si es edición o nuevo string strVolumetriaForma = e.ExtraParams["VolumetriaForma"]; string strVolumetria = e.ExtraParams["Volumetria"]; string strSucursal = e.ExtraParams["sucursal"]; string strVolumetriaD = e.ExtraParams["VolumetriaD"]; string strcookieEditarVolumetria = Cookies.GetCookie("cookieEditarVolumetria").Value; //2. Serializar el encabezado y el detalle Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strVolumetriaForma); Volumetria oVolumetriaForma = ObtenerObjetoDesdeForma(dRegistro, strSucursal); Volumetria oVolumetria = JSON.Deserialize <List <Volumetria> >(strVolumetria).FirstOrDefault(); List <VolumetriaD> lVolumetriaD = JSON.Deserialize <List <VolumetriaD> >(strVolumetriaD); //3. Guardar o Actuaizar el Movimiento string strAccion = GuardarMovimiento(ref oVolumetriaForma, oVolumetria, lVolumetriaD); //4. Validar que efecto realizará para Guardar o Afectar switch (strAccion) { case "insertar": e.ExtraParamsResponse.Add(new Ext.Net.Parameter("accion", "insertar", ParameterMode.Value)); break; case "modificar": e.ExtraParamsResponse.Add(new Ext.Net.Parameter("accion", "modificar", ParameterMode.Value)); break; } //4. Lanzar la afectación del Movimiento VolumetriaBusiness.AfectarVolumetriaPorID(oVolumetriaForma); //Actualiza las cantidades despues de afectar foreach (VolumetriaD sd in lVolumetriaD) { PreciarioConceptoBusiness.Actualizar(sd.ConceptoID, sd.Utilizada, sd.Volumetria); } oVolumetria = VolumetriaBusiness.ObtenerVolumetriaPorID(oVolumetriaForma.ID); //7. Actualizar store de Revision sVolumetria.GetAt(0).Set("MovID", oVolumetria.MovID); sVolumetria.GetAt(0).Set("Estatus", oVolumetria.Estatus); }