public ActionResult NuevoGrupo() { Proyecto Proyecto = (Proyecto)Session["Proyecto"]; int Periodo = (int)Session["Periodo"]; int NumeroFF = 0; try { NumeroFF = db.FondoFijoGrupo.Where(f => f.ProyectoID == Proyecto.ID && f.Periodo == Periodo).Max(f => f.Numero); } catch (Exception) { NumeroFF = 1; } FondoFijoGrupo ffg = new FondoFijoGrupo(); ffg.Activo = "S"; ffg.Creacion = DateTime.Now; ffg.Modificacion = DateTime.Now; ffg.Monto = 0; ffg.Numero = NumeroFF + 1; ffg.Periodo = Periodo; ffg.ProyectoID = Proyecto.ID; ffg.EgresoID = null; ffg.Descripcion = "Caja Chica " + ffg.Numero; ffg.ID = 0; db.FondoFijoGrupo.Add(ffg); db.SaveChanges(); return(RedirectToAction("Create", new { Grupo = ffg.ID })); }
public ActionResult Create(FondoFijo fondofijo) { fondofijo.Periodo = (int)Session["Periodo"]; fondofijo.Mes = (int)Session["Mes"]; fondofijo.ProyectoID = ((Proyecto)Session["Proyecto"]).ID; fondofijo.CuentaID = Int32.Parse(Request.Form["CuentaID"].ToString()); fondofijo.Glosa = fondofijo.Glosa.ToUpper(); if (fondofijo.NumeroDocumento == null || fondofijo.NumeroDocumento <= 0) { fondofijo.NumeroDocumento = 1; } //fondofijo.Egreso = null; if (ModelState.IsValid) { db.FondoFijo.Add(fondofijo); db.SaveChanges(); // Actualizacion del Fondo Fijo Grupo FondoFijoGrupo ffg = db.FondoFijoGrupo.Find(fondofijo.FondoFijoGrupoID); ffg.Modificacion = DateTime.Now; ffg.Monto = db.FondoFijo.Where(f => f.FondoFijoGrupoID == fondofijo.FondoFijoGrupoID).Sum(f => f.Monto); db.Entry(ffg).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Create", new { Grupo = ffg.ID })); } ViewBag.Arbol = utils.generarSelectHijos(db.Cuenta.Find(30)); ViewBag.ProyectoID = new SelectList(db.Proyecto, "ID", "NombreLista", fondofijo.ProyectoID); return(View(fondofijo)); }
// // GET: /FondoFijo/Edit/5 public ActionResult Edit(int id) { FondoFijo fondofijo = db.FondoFijo.Find(id); ViewBag.Arbol = utils.generarSelectHijos(db.Cuenta.Find(30), fondofijo.CuentaID); ViewBag.ProyectoID = new SelectList(db.Proyecto, "ID", "NombreLista", fondofijo.ProyectoID); FondoFijoGrupo ffg = db.FondoFijoGrupo.Find(fondofijo.FondoFijoGrupoID); ViewBag.NombreFondoFijo = ffg.Descripcion; ViewBag.FondoFijoGrupoID = ffg.ID; return(View(fondofijo)); }
public ActionResult Autorizar(int id) { Persona persona = (Persona)Session["Persona"]; Autorizacion autorizacion = db.Autorizacion.Find(id); autorizacion.Autorizado = "S"; autorizacion.AutorizaID = persona.ID; autorizacion.FechaAutorizacion = DateTime.Now; Movimiento original = db.Movimiento.Find(autorizacion.OriginalID); Movimiento modificado = db.Movimiento.Find(autorizacion.ModificadoID); //autorizacion.OriginalID = null; db.Entry(autorizacion).State = EntityState.Modified; db.SaveChanges(); if (autorizacion.Tipo.Equals("Modificación")) { if (original.TipoComprobanteID == ctes.tipoIngreso || original.TipoComprobanteID == ctes.tipoReintegro) { // Comprobante de Ingreso y Reintegro original.Temporal = null; original.Eliminado = "S"; // Mejor marcar como eliminado utils.actualizarSaldoIngreso(modificado, ModelState, original.Monto_Ingresos); db.Entry(original).State = EntityState.Modified; //db.Movimiento.Remove(original); db.SaveChanges(); modificado.Temporal = null; modificado.Eliminado = null; db.Entry(modificado).State = EntityState.Modified; db.SaveChanges(); } else if (original.TipoComprobanteID == ctes.tipoEgreso) { // Comprobante de Egreso db.Database.ExecuteSqlCommand("UPDATE BoletaHonorario SET EgresoID = " + modificado.ID + " WHERE EgresoID = " + original.ID); db.Database.ExecuteSqlCommand("UPDATE BoletaHonorario SET EgresoID = " + modificado.ID + " WHERE EgresoID = " + original.ID); db.Database.ExecuteSqlCommand("UPDATE DeudaPendiente SET EgresoID = " + modificado.ID + " WHERE EgresoID = " + original.ID); db.Database.ExecuteSqlCommand("DELETE FROM DetalleEgreso WHERE MovimientoID = " + original.ID); db.Database.ExecuteSqlCommand("UPDATE DetalleEgreso SET Temporal = NULL WHERE MovimientoID = " + modificado.ID); // Comprobante de Ingreso y Reintegro utils.actualizarSaldoEgreso(modificado, ModelState, original.Monto_Egresos); //db.Movimiento.Remove(original); //db.Database.ExecuteSqlCommand("DELETE FROM DetalleEgreso WHERE MovimientoID = " + original.ID); //db.Database.ExecuteSqlCommand("DELETE FROM Movimiento WHERE ID = " + original.ID); original.Temporal = null; original.Eliminado = "S"; db.Entry(original).State = EntityState.Modified; db.Movimiento.Remove(original); db.SaveChanges(); modificado.Temporal = null; modificado.Eliminado = null; db.Entry(modificado).State = EntityState.Modified; db.SaveChanges(); // Actualizamos Informacion de FF si EXISTE try { DetalleEgreso de = db.DetalleEgreso.Where(d => d.MovimientoID == modificado.ID).Take(1).Single(); if (de.FondoFijo != null) { int ffgID = de.FondoFijo.FondoFijoGrupoID; FondoFijoGrupo ffg = db.FondoFijoGrupo.Find(ffgID); ffg.EgresoID = modificado.ID; ffg.Activo = "N"; ffg.Modificacion = DateTime.Now; db.Entry(ffg).State = EntityState.Modified; db.SaveChanges(); } } catch (Exception) { } } } else if (autorizacion.Tipo.Equals("Anulación")) { if (original.TipoComprobanteID == ctes.tipoIngreso || original.TipoComprobanteID == ctes.tipoReintegro) { // Comprobante de Ingreso y Reintegro int monto = original.Monto_Ingresos; utils.anularSaldoIngreso(modificado, ModelState, monto); original.Temporal = null; original.Eliminado = "S"; db.Entry(original).State = EntityState.Modified; //db.Movimiento.Remove(original); db.SaveChanges(); modificado.Temporal = null; modificado.Eliminado = null; modificado.Nulo = "S"; db.Entry(modificado).State = EntityState.Modified; db.SaveChanges(); } else if (original.TipoComprobanteID == ctes.tipoEgreso) { // Comprobante de Egreso db.Database.ExecuteSqlCommand("UPDATE BoletaHonorario SET EgresoID = NULL WHERE EgresoID = " + original.ID); db.Database.ExecuteSqlCommand("UPDATE BoletaHonorario SET EgresoID = NULL WHERE EgresoID = " + original.ID); db.Database.ExecuteSqlCommand("UPDATE DeudaPendiente SET EgresoID = NULL WHERE EgresoID = " + original.ID); db.Database.ExecuteSqlCommand("DELETE FROM DetalleEgreso WHERE MovimientoID = " + original.ID); int monto = original.Monto_Egresos; utils.anularSaldoEgreso(modificado, ModelState, monto); original.Temporal = null; original.Nulo = "S"; db.Entry(original).State = EntityState.Modified; //db.Movimiento.Remove(original); db.SaveChanges(); db.SaveChanges(); modificado.Temporal = null; modificado.Eliminado = null; db.Entry(modificado).State = EntityState.Modified; db.SaveChanges(); } } // Actualizar todos los saldos de todos los periodos int periodo_comprobante = modificado.Periodo; int mes_comprobante = modificado.Mes; return(RedirectToAction("Pendientes")); }
// // GET: /FondoFijo/Create public ActionResult Create(int Grupo = 0) { // Se revisa si existe fondo fijo activo, si no se crea uno FondoFijoGrupo ffg = new FondoFijoGrupo(); int Periodo = (int)Session["Periodo"]; int ProyectoID = ((Proyecto)Session["Proyecto"]).ID; int NumeroFF = 0; try { NumeroFF = db.FondoFijoGrupo.Where(f => f.ProyectoID == ProyectoID && f.Periodo == Periodo).Max(f => f.Numero); } catch (Exception) { NumeroFF = 1; } if (Grupo > 0) { // Si el grupo viene definido se busca ffg = db.FondoFijoGrupo.Find(Grupo); } else { try { // Si el grupo no viene definido se intenta obtener una caja chica activa ffg = db.FondoFijoGrupo.Where(f => f.ProyectoID == ProyectoID && f.Periodo == Periodo && f.Activo.Equals("S")).OrderByDescending(f => f.ID).Take(1).Single(); } catch (Exception) { // Si no hay caja chica activa se crea una ffg.Activo = "S"; ffg.Creacion = DateTime.Now; ffg.Modificacion = DateTime.Now; ffg.Monto = 0; ffg.Numero = NumeroFF + 1; ffg.Periodo = Periodo; ffg.ProyectoID = ProyectoID; ffg.EgresoID = null; ffg.Descripcion = "Caja Chica " + ffg.Numero; ffg.ID = 0; db.FondoFijoGrupo.Add(ffg); db.SaveChanges(); } } ViewBag.Estado = ffg.Activo; ViewBag.NombreFondoFijo = ffg.Descripcion; ViewBag.FondoFijoGrupoID = ffg.ID; ViewBag.Arbol = utils.generarSelectHijos(db.Cuenta.Find(30)); ViewBag.ProyectoID = new SelectList(db.Proyecto, "ID", "NombreLista"); // Detalle del FF ViewBag.Listado = db.FondoFijo.Include(f => f.Cuenta).Include(f => f.Proyecto).Where(f => f.ProyectoID == ProyectoID && f.FondoFijoGrupoID == ffg.ID).OrderByDescending(f => f.ID); return(View()); }