protected void btnCerrar_Click(object sender, EventArgs e) { int ejercicio; ejercicio = int.Parse(Session["EjercicioId"].ToString()); TechoFinancieroBitacora tfBit = new TechoFinancieroBitacora(); tfBit.EjercicioId = ejercicio; tfBit.Movimiento = 1; tfBit.Tipo = EnumTipoMovimientoTechoFinanciero.CargaInicial; tfBit.Fecha = DateTime.Now; tfBit.Oficio = ""; tfBit.Observaciones = "Carga Inicial del Techo Financiero Ejercicio" + ejercicio.ToString(); uow.TechoFinancieroBitacoraBL.Insert(tfBit); List <TechoFinancieroUnidadPresupuestal> lista = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinanciero.EjercicioId == ejercicio).ToList(); foreach (TechoFinancieroUnidadPresupuestal elemento in lista) { TechoFinancieroBitacoraMovimientos tfBitMov = new TechoFinancieroBitacoraMovimientos(); tfBitMov.TechoFinancieroBitacoraId = tfBit.Id; tfBitMov.TechoFinancieroId = elemento.TechoFinancieroId; tfBitMov.UnidadPresupuestalId = elemento.UnidadPresupuestalId; tfBitMov.Incremento = elemento.Importe; tfBitMov.Decremento = 0; uow.TechoFinancieroBitacoraMovimientosBL.Insert(tfBitMov); elemento.ImporteInicial = elemento.Importe; uow.TechoFinancieroUnidadPresuestalBusinessLogic.Update(elemento); } TechoFinancieroStatus obj = uow.TechoFinancieroStatusBusinessLogic.Get(p => p.EjercicioId == ejercicio).First(); obj.Status = 2; uow.TechoFinancieroStatusBusinessLogic.Update(obj); uow.SaveChanges(); //if (uow.Errors.Count > 0) // uow = new UnitOfWork(); Response.Redirect("wfTechoFinanciero.aspx"); }
protected void btnGuardar_Click(object sender, EventArgs e) { Financiamiento fin; List <Financiamiento> listaFinanciamientos; List <TechoFinanciero> listaTechosFin; int fondo = int.Parse(ddlFondo.SelectedValue); int modalidad = int.Parse(ddlModalidad.SelectedValue); int año = int.Parse(ddlAño.SelectedValue); int idFinanciamiento = 0; int idEjercicio = int.Parse(Session["EjercicioId"].ToString()); int usuario = int.Parse(Session["IdUser"].ToString()); listaFinanciamientos = uow.FinanciamientoBusinessLogic.Get(p => p.FondoId == fondo && p.ModalidadFinanciamientoId == modalidad && p.AñoId == año).ToList(); //buscamos el financiamiento seleccionado y si no existe lo creamos if (listaFinanciamientos.Count == 0) { fin = new Financiamiento(); fin.FondoId = fondo; fin.ModalidadFinanciamientoId = modalidad; fin.AñoId = año; uow.FinanciamientoBusinessLogic.Insert(fin); uow.SaveChanges(); idFinanciamiento = fin.Id; } else { foreach (Financiamiento aux in listaFinanciamientos) { idFinanciamiento = aux.Id; } } uow.Errors.Clear(); if (txtOficio.Value.Trim() == string.Empty) { uow.Errors.Add("No ha capturado el número de oficio correspondiente a este registro"); } if (txtObservaciones.Value.Trim() == string.Empty) { uow.Errors.Add("No ha capturado las observaciones correspondientes"); } listaTechosFin = uow.TechoFinancieroBusinessLogic.Get(p => p.EjercicioId == idEjercicio && p.FinanciamientoId == idFinanciamiento).ToList(); if (listaTechosFin.Count == 0)//Nuevo Techo Financiero { List <TechoFinancieroTMPtransferencias> listaTMP = uow.TechoFinancieroTMPtransferenciasBL.Get(p => p.Usuario == usuario).ToList(); //insertar el techo financiero TechoFinanciero obj = new TechoFinanciero(); obj.EjercicioId = idEjercicio; obj.FinanciamientoId = idFinanciamiento; obj.Importe = listaTMP.Sum(q => q.Importe); uow.TechoFinancieroBusinessLogic.Insert(obj); //insertar la bitacora TechoFinancieroBitacora bitacora = new TechoFinancieroBitacora(); bitacora.EjercicioId = idEjercicio; bitacora.Movimiento = 3; bitacora.Tipo = EnumTipoMovimientoTechoFinanciero.NuevoFondo; bitacora.Fecha = DateTime.Now; bitacora.Oficio = txtOficio.Value; bitacora.Observaciones = txtObservaciones.Value; uow.TechoFinancieroBitacoraBL.Insert(bitacora); int i = 0; foreach (TechoFinancieroTMPtransferencias item in listaTMP) { i++; TechoFinancieroUnidadPresupuestal tfup = new TechoFinancieroUnidadPresupuestal(); tfup.UnidadPresupuestalId = item.OrigenId; tfup.Importe = item.Importe; obj.detalleUnidadesPresupuestales.Add(tfup); TechoFinancieroBitacoraMovimientos bitacoraMovimientos = new TechoFinancieroBitacoraMovimientos(); bitacoraMovimientos.TechoFinancieroBitacora = bitacora; bitacoraMovimientos.Submovimiento = i; bitacoraMovimientos.UnidadPresupuestalId = item.OrigenId; bitacoraMovimientos.Decremento = 0; bitacoraMovimientos.Incremento = item.Importe; obj.detalleBitacoraMovimientos.Add(bitacoraMovimientos); } } else { uow.Errors.Add("El financiamiento que quiere registrar ya ha sido capturado anteriormente"); } if (uow.Errors.Count == 0) { uow.SaveChanges(); } if (uow.Errors.Count == 0) { Response.Redirect("wfTechoFinanciero.aspx"); } else { divMsgSuccess.Style.Add("display", "none"); divMsgFail.Style.Add("display", "block"); string mensaje; mensaje = string.Empty; foreach (string cad in uow.Errors) { mensaje = mensaje + cad + "<br>"; } lblMensajeFail.Text = mensaje; } }
protected void btnOk_Click(object sender, EventArgs e) { int usuario = int.Parse(Session["IdUser"].ToString()); int idEjercicio = int.Parse(Session["EjercicioId"].ToString()); int financiamiento = int.Parse(_financiamiento.Text); int next = uow.TechoFinancieroBitacoraBL.Get(p => p.EjercicioId == idEjercicio).ToList().Max(q => q.Movimiento); next++; if (txtOficio.Value == string.Empty) { return; } TechoFinancieroBitacora bitacora = new TechoFinancieroBitacora(); bitacora.EjercicioId = idEjercicio; bitacora.Movimiento = next; bitacora.Tipo = EnumTipoMovimientoTechoFinanciero.Transferencia; bitacora.Fecha = DateTime.Now; bitacora.Oficio = txtOficio.Value; bitacora.Observaciones = txtObservaciones.Value; uow.TechoFinancieroBitacoraBL.Insert(bitacora); List <TechoFinancieroTMPtransferencias> lista; lista = uow.TechoFinancieroTMPtransferenciasBL.Get(p => p.Usuario == usuario).ToList(); TechoFinancieroBitacoraMovimientos bitmov; TechoFinancieroUnidadPresupuestal tfup; int i = 0; foreach (TechoFinancieroTMPtransferencias elemento in lista) { i++; //Decrementamos bitmov = new TechoFinancieroBitacoraMovimientos(); bitmov.TechoFinancieroId = financiamiento; bitmov.Submovimiento = i; bitmov.UnidadPresupuestalId = elemento.OrigenId; bitmov.Incremento = 0; bitmov.Decremento = elemento.Importe; bitacora.detalleMovimientos.Add(bitmov); tfup = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == elemento.OrigenId).First(); tfup.Importe = tfup.Importe - elemento.Importe; uow.TechoFinancieroUnidadPresuestalBusinessLogic.Update(tfup); //incrementamos bitmov = new TechoFinancieroBitacoraMovimientos(); bitmov.TechoFinancieroId = financiamiento; bitmov.Submovimiento = i; bitmov.UnidadPresupuestalId = elemento.DestinoId; bitmov.Incremento = elemento.Importe; bitmov.Decremento = 0; bitacora.detalleMovimientos.Add(bitmov); List <TechoFinancieroUnidadPresupuestal> listaUP = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == elemento.DestinoId).ToList(); if (listaUP.Count == 0) { tfup = new TechoFinancieroUnidadPresupuestal(); tfup.TechoFinancieroId = financiamiento; tfup.UnidadPresupuestalId = elemento.DestinoId; tfup.Importe = elemento.Importe; uow.TechoFinancieroUnidadPresuestalBusinessLogic.Insert(tfup); } else { tfup = uow.TechoFinancieroUnidadPresuestalBusinessLogic.Get(p => p.TechoFinancieroId == financiamiento && p.UnidadPresupuestalId == elemento.DestinoId).First(); tfup.Importe = tfup.Importe + elemento.Importe; uow.TechoFinancieroUnidadPresuestalBusinessLogic.Update(tfup); } uow.SaveChanges(); } if (uow.Errors.Count == 0) { divTransferencia.Style.Add("display", "none"); divNuevo.Style.Add("display", "block"); txtOficio.Value = string.Empty; txtObservaciones.Value = string.Empty; MostrarAsignaciones(); } else { divMsgSuccess.Style.Add("display", "none"); divMsgFail.Style.Add("display", "block"); string mensaje; mensaje = string.Empty; foreach (string cad in uow.Errors) { mensaje = mensaje + cad + "<br>"; } lblMensajeFail.Text = mensaje; } }