static void Main(string[] args) { var cl = new Cliente() { Dni = "1234", Nombre = "Eduardo Flores", Telefono = "12345678" }; var cc = new CuentaCorriente() { Cliente = cl, Saldo = 1200, Credito = 500, Interes = (decimal)0.12 }; var ca = new CuentaAhorro() { Cliente = cl, Saldo = 12000, Bonificacion = 0.01, Penalizacion = 0.04 }; cc.RetirarEfectivo(3000); ca.RetirarEfectivo(10000); Console.ReadLine(); }
public ActionResult ExcelLibroBanco(int Periodo, int Mes) { Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; try { ViewBag.SaldoInicial = db.Saldo.Where(m => m.CuentaCorrienteID == CuentaCorriente.ID).Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Single().SaldoInicialCartola; } catch (Exception) { ViewBag.SaldoInicial = 0; } var movimientos = db.Movimiento.Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.Temporal == null && a.Eliminado == null && ((a.CuentaID != 1 && a.CuentaID != 6) || a.CuentaID == null)).OrderBy(m => m.Fecha).ThenBy(m => m.NumeroComprobante); ViewBag.periodo = Periodo; ViewBag.mes = Mes; ViewBag.cuentaCorriente = CuentaCorriente; ViewBag.NumeroCuenta = CuentaCorriente.Numero; return(View(movimientos.ToList())); }
//private Servis _servi; public override void Actualizacion(Servis servi) { CuentaCorriente ultimoCredit = null; CuentaCorriente ultimoDebito = null; var list = servi.CuentaCorriente.ToList(); var listaCreditos = list.OrderByDescending(x => x.Fecha).Where(x => x.Credito > 0).ToList(); var listaDebitos = list.OrderByDescending(x => x.Fecha).Where(x => x.Debito > 0).ToList(); decimal?deuda = 0; foreach (var cred in listaCreditos) { deuda = deuda + cred.Credito; } foreach (var deb in listaDebitos) { deuda = deuda - deb.Debito; } if (listaCreditos != null) { ultimoCredit = listaCreditos.FirstOrDefault(); } if (listaDebitos != null) { ultimoDebito = listaDebitos.FirstOrDefault(); } if (ultimoDebito != null && ultimoCredit != null) { TimeSpan ts = ultimoDebito.Fecha - ultimoCredit.Fecha; if (ts.Days >= 30 && deuda < 0) { servi.Estado = false; } } }
public void Baja(CuentaCorriente pCuenta) { SqlConnection _cnn = new SqlConnection(Conexion.Cnn); SqlCommand _comando = new SqlCommand("CuentaCorrienteBaja", _cnn); _comando.CommandType = System.Data.CommandType.StoredProcedure; _comando.Parameters.AddWithValue("@NumCta", pCuenta.NumCta); SqlParameter _retorno = new SqlParameter("@Retorno", System.Data.SqlDbType.Int); _retorno.Direction = System.Data.ParameterDirection.ReturnValue; _comando.Parameters.Add(_retorno); try { _cnn.Open(); _comando.ExecuteNonQuery(); if ((int)_retorno.Value == -1) { throw new Exception("La cuenta tiene Movimientos asignados"); } else if ((int)_retorno.Value == -2) { throw new Exception("Error en Borrar Cuenta Corriente"); } else if ((int)_retorno.Value == -3) { throw new Exception("Error en Borrar Cuenta"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { _cnn.Close(); } }
/// <summary> /// Modifica el saldo de una cuenta. /// </summary> /// <param name="banco">Lista de cuentas corrientes.</param> static void ActualizarSaldoBanco(List <CuentaCorriente> banco) // Ejercicio 3 { int i; decimal modificacion; string cuenta; Console.WriteLine("¿Cuál es el número de cuenta?"); cuenta = Console.ReadLine(); Console.WriteLine("¿Cuánto dinero deseas añadir a la cuenta? (Pon un valor negativo si deseas retirar dinero."); modificacion = decimal.Parse(Console.ReadLine()); for (i = 0; i < banco.Count; i++) { if (banco[i].numero_cc == cuenta) // cuando encuentre la cuenta { CuentaCorriente temp = banco[i]; temp.saldo = temp.saldo + modificacion; banco[i] = temp; Console.WriteLine("El saldo actual de la cuenta (tras la operación) es de: " + temp.saldo); } } }
//metodo para dar de alta en base de datos. public void AltaUsuario(Usuario usuario) { Comando.Connection = Conexion; Conexion.Open(); Comando.CommandText = "AltaUsuario"; Comando.CommandType = CommandType.StoredProcedure; Comando.Parameters.Clear(); Comando.Parameters.AddWithValue("@nombre", usuario.nombre); Comando.Parameters.AddWithValue("@apellido", usuario.apellido); Comando.Parameters.AddWithValue("@dni", usuario.dni); Comando.Parameters.AddWithValue("@usuario", usuario.usuario1); Comando.Parameters.AddWithValue("@clave", usuario.clave); Comando.ExecuteNonQuery(); Conexion.Close(); CajaDeAhorro caja = new CajaDeAhorro(usuario.dni, 70000, 1); metCajaAhorro.AltaCajaDeAhorro(caja); CuentaCorriente ctaCte = new CuentaCorriente(usuario.dni, 0, 1); metCuentaCorriente.AltaCuentaCorriente(ctaCte); MessageBox.Show("Insertado con exito!"); }
//operaciones public void Alta(CuentaCorriente pCuenta) { SqlConnection _cnn = new SqlConnection(Conexion.Cnn); SqlCommand _comando = new SqlCommand("CuentaCorrienteAlta", _cnn); _comando.CommandType = System.Data.CommandType.StoredProcedure; _comando.Parameters.AddWithValue("@NumCli", pCuenta.UnCliente.NumCli); _comando.Parameters.AddWithValue("@MinimoCta", pCuenta.MinimoCta); SqlParameter _retorno = new SqlParameter("@Retorno", System.Data.SqlDbType.Int); _retorno.Direction = System.Data.ParameterDirection.ReturnValue; _comando.Parameters.Add(_retorno); try { _cnn.Open(); _comando.ExecuteNonQuery(); if ((int)_retorno.Value == -1) { throw new Exception("El cliente no existe - No se creo cuenta"); } else if ((int)_retorno.Value == -2) { throw new Exception("Error en Alta"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { _cnn.Close(); } }
public void ValidarValorConsignacionInicialIncorrecto() { string numeroDeCuenta = "1001"; string nombreDeCuenta = "Cuenta de Ejemplo"; CuentaCorriente cuentaCorriente = new CuentaCorriente(); cuentaCorriente.Numero = numeroDeCuenta; cuentaCorriente.Nombre = nombreDeCuenta; IList <string> errores = cuentaCorriente.CanConsign(500); string obtenido; string esperado = $"No es posible realizar la consignacion, el monto minimo debe ser de: {CuentaCorriente.VALOR_MINIMO_CONSIGNACION_INICIAL}"; if (errores.Contains(esperado)) { obtenido = esperado; } else { obtenido = cuentaCorriente.Consignar(500, "No implementa"); } Assert.AreEqual(esperado, obtenido); }
public ActionResult Propiedades(FormCollection form) { var Meses = new string[12] { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }; if (form["Proyecto"] == null || form["Proyecto"].ToString().Equals("")) { return(Propiedades()); } int proyectoID = Int32.Parse(form["Proyecto"]); //int CuentaCorrienteID = Int32.Parse(collection["CuentaCorriente"]); Persona Persona = (Persona)Session["Persona"]; Usuario usuario = (Usuario)Session["Usuario"]; Rol Rol = new Rol(); if (!usuario.esAdministrador) { Rol = (Rol)db.Rol.Where(r => r.PersonaID == Persona.ID).Where(r => r.ProyectoID == proyectoID).Single(); } //Rol Rol = (Rol)db.Rol.Where(r => r.PersonaID == Persona.ID).Where(r => r.ProyectoID == EstablecimientoID).Single(); Session.Add("Rol", Rol); Proyecto Proyecto = db.Proyecto.Find(proyectoID); Session.Add("Proyecto", Proyecto); Response.Cookies["ProyectoUsado"]["ID"] = proyectoID.ToString(); Response.Cookies["ProyectoUsado"].Expires = DateTime.Now.AddDays(30); // Verificamos periodo y mes abierto try { Periodo Periodo = (from p in db.Periodo where p.ProyectoID == Proyecto.ID orderby p.Ano descending, p.Mes descending select p).Take(1).Single(); int periodo_actual, mes_actual; if (Periodo.Mes == 12) { mes_actual = 1; periodo_actual = Periodo.Ano + 1; } else { mes_actual = Periodo.Mes + 1; periodo_actual = Periodo.Ano; } Session.Add("Mes", mes_actual); Session.Add("Periodo", periodo_actual); Session.Add("Fecha", Meses[mes_actual - 1] + " " + periodo_actual); } catch (Exception e) { utils.Log(1, "No hay periodos cerramos en la base de datos, por lo tanto se selecciona fecha actual. " + e.Message); if (Proyecto.MesInicio == null) { Session.Add("Mes", DateTime.Now.Month); Session.Add("Periodo", DateTime.Now.Year); Session.Add("Fecha", Meses[DateTime.Now.Month - 1] + " " + DateTime.Now.Year); } else { Session.Add("Mes", Proyecto.MesInicio); Session.Add("Periodo", Proyecto.PeriodoInicio); Session.Add("Fecha", Meses[Proyecto.MesInicio.Value - 1] + " " + Proyecto.PeriodoInicio); } } //Session.Add("InformacionPie", Proyecto.NombreLista + " (" + CuentaCorriente.NumeroLista + ") | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString()); //ViewBag.Mensaje = utils.mensajeOK("Propiedades cambiadas satisfactoriamente."); try { CuentaCorriente CuentaCorriente = db.CuentaCorriente.Where(c => c.ProyectoID == proyectoID).Single(); Session.Add("CuentaCorriente", CuentaCorriente); if (usuario.esAdministrador) { Session.Add("InformacionPie", Proyecto.NombreLista + " | " + CuentaCorriente.Banco.Nombre + " " + CuentaCorriente.NumeroLista + " | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString() + " | ProyectoID: " + Proyecto.ID + " CtaCteID: " + CuentaCorriente.ID + " PersonaID: " + Persona.ID); } else { Session.Add("InformacionPie", Proyecto.NombreLista + " | " + CuentaCorriente.Banco.Nombre + " " + CuentaCorriente.NumeroLista + " | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString()); } //Session.Add("InformacionPie", Proyecto.NombreLista + " (" + CuentaCorriente.NumeroLista + ") | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString()); return(RedirectToAction("../Home")); } catch (Exception) { utils.Log(2, "LOGIN NOK | El proyecto no tiene asignada ninguna cuenta corriente asignada."); return(RedirectToAction("IngresoCuentaCorriente")); } //return Propiedades(); }
public ActionResult CambiarPeriodo(int?proyectoID, FormCollection form) { Proyecto Proyecto = (Proyecto)Session["Proyecto"]; if (Request.Form["CambiarPeriodo"] != null && !Request.Form["CambiarPeriodo"].ToString().Equals("")) { foreach (var key in form.AllKeys) { if (key.Contains("Mes_") && key.Contains("_")) { string[] datos = key.Split('_'); if ("Mes".Equals(datos[0]) && datos.Count() == 2) { // Limpiamos los datos int movimientoID = Int32.Parse(datos[1]); int mes = Int32.Parse(form[key].ToString()); int periodo = Int32.Parse(form["Periodo_" + movimientoID].ToString()); Movimiento mv = db.Movimiento.Find(movimientoID); // Si no hay cambios del periodo ni del mes if (mes == mv.Mes && periodo == mv.Periodo) { continue; } // Obtenemos cuenta corriente del proyecto CuentaCorriente cc = db.CuentaCorriente.Where(c => c.ProyectoID == mv.ProyectoID).Single(); int saldoInicial = 0; try { saldoInicial = db.Saldo.Where(s => s.CuentaCorrienteID == cc.ID).Where(s => s.Periodo == periodo).Where(s => s.Mes == mes).Single().SaldoInicialCartola; } catch (Exception) { saldoInicial = 0; } // Si solo retrocedio el mes (mas comun) if (mes < mv.Mes && periodo == mv.Periodo) { for (int i = mes; mes <= mv.Mes; i++) { int ingresos = 0; int egresos = 0; try { ingresos = db.Movimiento.Where(a => a.ProyectoID == mv.ProyectoID && a.Periodo == periodo && a.Mes == i && ((a.TipoComprobanteID != 2 && a.CuentaID != 1)) && a.Eliminado == null && a.Nulo == null && a.Temporal == null).Sum(a => a.Monto_Ingresos); } catch (Exception) { ingresos = 0; } try { egresos = db.Movimiento.Where(a => a.ProyectoID == mv.ProyectoID && a.Periodo == periodo && a.Mes == i && (a.TipoComprobanteID == 2 && (a.CuentaID != 6 || a.CuentaID == null) || a.CuentaID == null) && a.Eliminado == null && a.Nulo == null && a.Temporal == null).Sum(a => a.Monto_Egresos); } catch (Exception) { egresos = 0; } int saldoFinal = saldoInicial + ingresos - egresos; Saldo Saldo = db.Saldo.Where(s => s.CuentaCorrienteID == cc.ID && s.Periodo == periodo && s.Mes == i).Single(); Saldo.SaldoFinal = saldoFinal; db.Entry(Saldo).State = EntityState.Modified; db.SaveChanges(); saldoInicial = saldoFinal; } mv.Mes = mes; db.Entry(mv).State = EntityState.Modified; db.SaveChanges(); } // Si solo retrocedio el periodo if (mes == mv.Mes && periodo < mv.Periodo) { continue; } // Si retrocedio ambos if (mes < mv.Mes && periodo < mv.Periodo) { continue; } } } } } if (proyectoID == null) { ViewBag.ProyectoID = new SelectList(db.Proyecto.Where(p => p.Eliminado == null).OrderBy(p => p.CodCodeni), "ID", "NombreLista", Proyecto.ID); var movimiento = db.Movimiento.Where(a => a.ProyectoID == Proyecto.ID && a.Temporal == null && ((a.TipoComprobanteID != 2 && a.CuentaID != 1) || (a.TipoComprobanteID == 2 && (a.CuentaID != 6 || a.CuentaID == null) || a.CuentaID == null)) && a.Eliminado == null).OrderBy(a => a.Proyecto.CodCodeni).ThenByDescending(a => a.Periodo).ThenByDescending(a => a.Mes).ThenByDescending(a => a.NumeroComprobante); return(View(movimiento.ToList())); } else { ViewBag.ProyectoID = new SelectList(db.Proyecto.Where(p => p.Eliminado == null).OrderBy(p => p.CodCodeni), "ID", "NombreLista", proyectoID); var movimiento = db.Movimiento.Where(a => a.ProyectoID == proyectoID && a.Temporal == null && ((a.TipoComprobanteID != 2 && a.CuentaID != 1) || (a.TipoComprobanteID == 2 && (a.CuentaID != 6 || a.CuentaID == null) || a.CuentaID == null)) && a.Eliminado == null).OrderByDescending(a => a.Periodo).ThenByDescending(a => a.Mes).ThenByDescending(a => a.NumeroComprobante); return(View(movimiento.ToList())); } //return View(movimiento.ToList()); }
public ActionResult ReiniciarProyecto(int proyectoID, int ingreso, int egreso, int reintegro, int deuda, int?monto) { Proyecto Proyecto = db.Proyecto.Find(proyectoID); CuentaCorriente CuentaCorriente = db.CuentaCorriente.Where(c => c.ProyectoID == proyectoID).Single(); Saldo Saldo = db.Saldo.Where(s => s.CuentaCorrienteID == CuentaCorriente.ID).OrderByDescending(s => s.ID).Take(1).Single(); int mes = Saldo.Mes; int periodo = Saldo.Periodo; db.Database.ExecuteSqlCommand("DELETE FROM Saldo WHERE CuentaCorrienteID = " + CuentaCorriente.ID); Saldo saldo = new Saldo(); saldo.CuentaCorrienteID = CuentaCorriente.ID; saldo.Mes = mes; saldo.Periodo = periodo; if (monto != null) { saldo.SaldoInicialCartola = Int32.Parse(monto.ToString()); } else { saldo.SaldoInicialCartola = 0; } saldo.SaldoFinal = saldo.SaldoInicialCartola; //saldo.SaldoFinalCartola = saldo.SaldoInicialCartola; db.Saldo.Add(saldo); db.SaveChanges(); db.Database.ExecuteSqlCommand("UPDATE BoletaHonorario SET EgresoID = NULL WHERE ProyectoID = " + proyectoID); db.Database.ExecuteSqlCommand("UPDATE BoletaHonorario SET EgresoID = NULL WHERE ProyectoID = " + proyectoID); db.Database.ExecuteSqlCommand("UPDATE DeudaPendiente SET EgresoID = NULL WHERE ProyectoID = " + proyectoID); db.Database.ExecuteSqlCommand("UPDATE FondoFijoGrupo SET EgresoID = NULL, Activo = 'S' WHERE ProyectoID = " + proyectoID); db.Database.ExecuteSqlCommand("UPDATE FondoFijo SET EgresoID = NULL WHERE ProyectoID = " + proyectoID); db.Database.ExecuteSqlCommand("DELETE FROM DeudaPendiente WHERE ProyectoID = " + proyectoID); db.Database.ExecuteSqlCommand("DELETE FROM DetalleEgreso WHERE MovimientoID IN (SELECT ID FROM Movimiento WHERE ProyectoID = " + proyectoID + ")"); db.Database.ExecuteSqlCommand("DELETE FROM Movimiento WHERE ProyectoID = " + proyectoID); // Registramos Ingreso if (ingreso > 0) { try { Movimiento Ingreso = new Movimiento(); Ingreso.NumeroComprobante = ingreso; Ingreso.Monto_Ingresos = 0; Ingreso.ProyectoID = Proyecto.ID; Ingreso.CuentaCorrienteID = CuentaCorriente.ID; Ingreso.Mes = mes; Ingreso.Periodo = periodo; Ingreso.PersonaID = null; Ingreso.DetalleEgresoID = null; Ingreso.ProveedorID = null; Ingreso.TipoComprobanteID = ctes.tipoIngreso; Ingreso.CuentaID = 1; Ingreso.Saldo = 0; Ingreso.Fecha = DateTime.Now; Ingreso.FechaCheque = DateTime.Now; db.Movimiento.Add(Ingreso); db.SaveChanges(); } catch (Exception) { } } // Registramos Egreso if (egreso > 0) { try { Movimiento Egreso = new Movimiento(); Egreso.NumeroComprobante = egreso; Egreso.Monto_Egresos = 0; Egreso.ProyectoID = Proyecto.ID; Egreso.CuentaCorrienteID = CuentaCorriente.ID; Egreso.Mes = mes; Egreso.Periodo = periodo; Egreso.PersonaID = null; Egreso.DetalleEgresoID = null; Egreso.ProveedorID = null; Egreso.TipoComprobanteID = ctes.tipoEgreso; Egreso.CuentaID = 6; Egreso.Saldo = 0; Egreso.Fecha = DateTime.Now; Egreso.FechaCheque = DateTime.Now; db.Movimiento.Add(Egreso); db.SaveChanges(); } catch (Exception) { } } // Registramos Reintegro if (reintegro > 0) { try { Movimiento Reintegro = new Movimiento(); Reintegro.NumeroComprobante = reintegro; Reintegro.Monto_Egresos = 0; Reintegro.ProyectoID = Proyecto.ID; Reintegro.CuentaCorrienteID = CuentaCorriente.ID; Reintegro.Mes = mes; Reintegro.Periodo = periodo; Reintegro.PersonaID = null; Reintegro.DetalleEgresoID = null; Reintegro.ProveedorID = null; Reintegro.TipoComprobanteID = ctes.tipoReintegro; Reintegro.CuentaID = 1; Reintegro.Saldo = 0; Reintegro.Fecha = DateTime.Now; Reintegro.FechaCheque = DateTime.Now; db.Movimiento.Add(Reintegro); db.SaveChanges(); } catch (Exception) { } } if (deuda > 0) { try { DeudaPendiente deudapendiente = new DeudaPendiente(); deudapendiente.NumeroComprobante = deuda; deudapendiente.ProyectoID = Proyecto.ID; deudapendiente.CuentaID = 1; deudapendiente.Mes = mes; deudapendiente.Periodo = periodo; deudapendiente.EgresoID = null; deudapendiente.ProveedorID = null; deudapendiente.Rut = null; deudapendiente.DV = null; deudapendiente.PersonaID = null; deudapendiente.Monto = 0; deudapendiente.Fecha = DateTime.Now; deudapendiente.DocumentoID = 1; db.DeudaPendiente.Add(deudapendiente); db.SaveChanges(); } catch (Exception) { } } Persona Persona = (Persona)Session["Persona"]; RegistroModificacionProyecto registro = new RegistroModificacionProyecto(); registro.ProyectoID = Proyecto.ID; registro.PersonaID = Persona.ID; registro.Descripcion = "REINICIO"; db.RegistroModificacionProyecto.Add(registro); db.SaveChanges(); utils.Log(1, "REINICIA PROYECTO / ProyectoID " + Proyecto.ID + " PersonaID " + Persona.ID); return(RedirectToAction("Correlativos")); }
public ActionResult Create(Proyecto proyecto) { Usuario usuario = (Usuario)Session["Usuario"]; if (!usuario.Administrador.Equals("S")) { Proyecto tmp = (Proyecto)Session["Proyecto"]; return(RedirectToAction("Edit", new { id = tmp.ID })); } try { if (ModelState.IsValid) { // Ingreso dirección Direccion direccion = proyecto.Direccion; direccion.Mostrar = 1; direccion.ComunaID = Int32.Parse(Request.Form["ComunaID"].ToString()); db.Direccion.Add(direccion); db.SaveChanges(); // Ingreso convenio Convenio convenio = proyecto.Convenio; if (Request.Form["FechaInicio"] != null && Request.Form["FechaTermino"] != null && !Request.Form["FechaTermino"].ToString().Equals("") && !Request.Form["FechaInicio"].ToString().Equals("")) { convenio.FechaInicio = DateTime.Parse(Request.Form["FechaInicio"].ToString()); convenio.FechaTermino = DateTime.Parse(Request.Form["FechaTermino"].ToString()); } else { convenio.FechaInicio = null; convenio.FechaTermino = null; } // Se define periodo de inicio del proyecto int?periodo_inicio = Int32.Parse(Request.Form["PeriodoInicio"].ToString()); int?mes_inicio = Int32.Parse(Request.Form["MesInicio"].ToString()); convenio.Periodo = periodo_inicio; convenio.Mes = mes_inicio; db.Convenio.Add(convenio); db.SaveChanges(); db.Proyecto.Add(proyecto); db.SaveChanges(); convenio.ProyectoID = proyecto.ID; db.Entry(convenio).State = EntityState.Modified; db.SaveChanges(); if (Request.Form["Numero"] != null && Request.Form["BancoID"] != null && !Request.Form["Numero"].ToString().Equals("") && !Request.Form["BancoID"].ToString().Equals("")) { Direccion direccionCtaCte = new Direccion(); direccionCtaCte.Mostrar = 1; direccionCtaCte.ComunaID = Int32.Parse(Request.Form["ComunaID"].ToString()); db.Direccion.Add(direccionCtaCte); db.SaveChanges(); // Se ingresa cuenta corriente CuentaCorriente cuentaCorriente = new CuentaCorriente(); cuentaCorriente.ProyectoID = proyecto.ID; cuentaCorriente.BancoID = Int32.Parse(Request.Form["BancoID"].ToString()); cuentaCorriente.Numero = Request.Form["Numero"].ToString(); cuentaCorriente.Desactiva = 0; cuentaCorriente.LineaCredito = 0; cuentaCorriente.DireccionID = direccionCtaCte.ID; db.CuentaCorriente.Add(cuentaCorriente); db.SaveChanges(); proyecto.MesInicio = mes_inicio; proyecto.PeriodoInicio = periodo_inicio; db.Entry(proyecto).State = EntityState.Modified; db.SaveChanges(); // Se define saldo inicial para periodo Saldo saldo = new Saldo(); saldo.CuentaCorrienteID = cuentaCorriente.ID; saldo.Mes = (int)mes_inicio; saldo.Periodo = (int)periodo_inicio; if (Request.Form["SaldoInicial"] != null && !Request.Form["SaldoInicial"].ToString().Equals("") && !Request.Form["SaldoInicial"].ToString().Equals("0")) { saldo.SaldoInicialCartola = Int32.Parse(Request.Form["SaldoInicial"].ToString()); saldo.SaldoFinal = saldo.SaldoInicialCartola; //saldo.SaldoFinalCartola = saldo.SaldoInicialCartola; } else { saldo.SaldoInicialCartola = 0; saldo.SaldoFinal = 0; // saldo.SaldoFinalCartola = 0; } db.Saldo.Add(saldo); db.SaveChanges(); } // Si se selecciona Supervisor, le asignamos Rol y verificamos que tenga cuenta de Usuario activa. if (Request.Form["PersonaID"] != null && !Request.Form["PersonaID"].ToString().Equals("")) { int tipoRolID = 4; int personaID = Int32.Parse(Request.Form["PersonaID"].ToString()); try { Usuario usuario_tmp = db.Usuario.Where(u => u.PersonaID == personaID).Single(); } catch (Exception) { // El usuario no tiene cuenta y por lo tanto se le crea una de nivel supervisor Persona persona = db.Persona.Find(personaID); string nombre = (persona.Nombres.Substring(0, 1) + "" + persona.ApellidoParterno).Replace(" ", "").ToLower().ToString(); Usuario tmp = new Usuario(); tmp.PersonaID = personaID; tmp.Nombre = nombre; tmp.Estado = "A"; tmp.Administrador = "N"; tmp.Supervisor = "S"; tmp.Password = utils.md5(persona.Rut.Trim()); db.Usuario.Add(tmp); db.SaveChanges(); } try { Rol rol_tmp = db.Rol.Where(r => r.PersonaID == personaID).Where(r => r.TipoRolID == tipoRolID).Where(r => r.ProyectoID == proyecto.ID).Single(); } catch (Exception) { // El usuario no tiene rol, se le asigna rol supervisor sobre el proyecto Rol tmp = new Rol(); tmp.PersonaID = personaID; tmp.ProyectoID = proyecto.ID; tmp.TipoRolID = tipoRolID; db.Rol.Add(tmp); db.SaveChanges(); } } return(RedirectToAction("Create")); } } catch (Exception e) { ViewBag.Mensaje = utils.mensajeError(e.Message + " " + e.StackTrace); if (e.InnerException != null) { ViewBag.Mensaje = utils.mensajeError(e.InnerException.Message + " " + e.StackTrace); if (e.InnerException.InnerException != null) { ViewBag.Mensaje = utils.mensajeError(e.InnerException.InnerException.Message + " " + e.StackTrace); } } } ViewBag.PersonaID = new SelectList(db.Persona.OrderBy(p => p.Nombres).ThenBy(p => p.ApellidoParterno).ThenBy(p => p.ApellidoMaterno), "ID", "NombreLista"); ViewBag.SistemaAsistencialID = new SelectList(db.SistemaAsistencial, "ID", "NombreLista", proyecto.SistemaAsistencialID); ViewBag.TipoProyectoID = new SelectList(db.TipoProyecto, "ID", "NombreLista", proyecto.TipoProyectoID); ViewBag.RegionID = new SelectList(db.Region.OrderBy(a => a.Nombre), "ID", "Nombre"); ViewBag.BancoID = new SelectList(db.Banco, "ID", "Nombre"); return(View(proyecto)); }
// // GET: /CuentaCorriente/Details/5 public ViewResult Details(int id) { CuentaCorriente cuentacorriente = db.CuentaCorriente.Find(id); return(View(cuentacorriente)); }
public FrmImputaciones(string IdCuenta, ItemCuentaCorriente icc, string ProcessName, CuentaCorriente CtaCorriente) { InitializeComponent(); _idCuenta = IdCuenta; _itemCuentaCorriente = icc; _processName = ProcessName; _ctaCorriente = CtaCorriente; Init(); }
public override SavingInvestementProduct createProduct() { CuentaCorriente cuenta = new CuentaCorriente(); return cuenta; }
public ActionResult Codeni(int Periodo = 0, int Mes = 0) { if (Periodo == 0 || Mes == 0) { Periodo = (int)Session["Periodo"]; Mes = (int)Session["Mes"]; } Proyecto proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente cuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; ViewBag.Periodo = Periodo; ViewBag.Mes = Mes; ViewBag.SaldoInicialCta = db.Saldo.Where(m => m.CuentaCorrienteID == cuentaCorriente.ID).Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Single().SaldoInicialCartola; ViewBag.SaldoFinalCta = db.Saldo.Where(m => m.CuentaCorrienteID == cuentaCorriente.ID).Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Single().SaldoFinal; ViewBag.CuentasIngresos = db.Cuenta.Where(c => c.Tipo.Equals("I")).Where(c => c.Codigo.Length <= 2).OrderBy(c => c.Orden).ToList(); ViewBag.CuentasEgresos = db.Cuenta.Where(c => c.Tipo.Equals("E")).Where(c => c.Codigo.Length <= 2).OrderBy(c => c.Orden).ToList(); try { ViewBag.plazas = db.Convenio.Where(c => c.ProyectoID == proyecto.ID && c.Mes == Mes && c.Periodo == Periodo).Single().NroPlazas.ToString(); } catch (Exception) { ViewBag.plazas = "0"; } try { ViewBag.Reintegros = db.Movimiento.Where(m => m.TipoComprobanteID == ctes.tipoReintegro).Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Where(m => m.ProyectoID == proyecto.ID).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).OrderBy(m => m.CuentaID).ToList(); } catch (Exception) { ViewBag.Reintegros = new List <Movimiento>(); } try { ViewBag.Ingresos = db.Movimiento.Where(m => m.TipoComprobanteID == ctes.tipoIngreso).Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Where(m => m.ProyectoID == proyecto.ID).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).OrderBy(m => m.CuentaID).ToList(); } catch (Exception) { ViewBag.Ingresos = new List <Movimiento>(); } try { ViewBag.Egresos = db.DetalleEgreso.Where(m => m.Egreso.Periodo == Periodo).Where(m => m.Egreso.Mes == Mes).Where(m => m.Egreso.ProyectoID == proyecto.ID).Where(m => m.Nulo == null && m.Temporal == null && m.Egreso.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).OrderBy(m => m.CuentaID).ToList(); } catch (Exception) { ViewBag.Egresos = new List <DetalleEgreso>(); } try { ViewBag.indemnizacion = db.Periodo.Where(c => c.ProyectoID == proyecto.ID && c.Mes == Mes && c.Ano == Periodo).Single().Indemnizacion; } catch (Exception) { ViewBag.indemnizacion = 0; } // Periodo ViewBag.FechaRendicion = "0"; try { Periodo PeriodoRendicion = db.Periodo.Where(p => p.Ano == Periodo && p.Mes == Mes && p.ProyectoID == proyecto.ID).Single(); ViewBag.FechaRendicion = PeriodoRendicion.Fecha.Value.ToShortDateString() + " " + PeriodoRendicion.Fecha.Value.ToShortTimeString(); } catch (Exception) { ViewBag.FechaRendicion = "0"; } return(View()); }
public ActionResult Guardar() { var Meses = new string[12] { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }; int periodo = (int)Session["Periodo"]; int mes = (int)Session["Mes"]; Proyecto proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente cuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; Persona persona = (Persona)Session["Persona"]; int intervenciones = 0; int indemnizacion = 0; try { if (Request.Form["Intervenciones"] == null || Request.Form["Intervenciones"].ToString().Equals("")) { throw new Exception("Debe ingresar el número de intervenciones correspondientes al período."); } intervenciones = Int32.Parse(Request.Form["Intervenciones"].ToString()); } catch (Exception e) { throw new Exception(e.Message); //@ViewBag.Mensaje = utils.mensajeError("Debe ingresar las intervenciones correspondientes al período."); //return View(); } try { indemnizacion = Int32.Parse(Request.Form["Indemnizacion"].ToString()); } catch (Exception) { indemnizacion = 0; } // Guardamos interveciones Intervencion intervencion = new Intervencion(); intervencion.Mes = mes; intervencion.Periodo = periodo; intervencion.ProyectoID = proyecto.ID; intervencion.Cobertura = proyecto.Convenio.NroPlazas; intervencion.Atenciones = intervenciones; try { if (ModelState.IsValid) { db.Intervencion.Add(intervencion); db.SaveChanges(); } else { throw new Exception("ModelState no válido."); } } catch (Exception e) { //throw new Exception(e.StackTrace); @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e)); return(View()); } int prox_mes = mes; int prox_periodo = periodo; if (mes == 12) { prox_periodo++; prox_mes = 1; } else { prox_mes++; } try { // Actualizamos convenio para proximo mes //Response.Write("actualizando convenio/"); //Response.Write("mes: " + mes + ", periodo:" + periodo + "/proxm:" + prox_mes+",prox_pe:" + prox_periodo); //Convenio Convenio = db.Convenio.Where(c => c.ProyectoID == proyecto.ID && c.Mes == mes && c.Periodo == periodo).Single(); //if (Convenio.Periodo != prox_periodo && Convenio.Mes != prox_mes) //{ Proyecto Proyecto = db.Proyecto.Find(proyecto.ID); //Convenio = null; Convenio Convenio = new Convenio(); Convenio.ResEx = proyecto.Convenio.ResEx; Convenio.NroPlazas = proyecto.Convenio.NroPlazas; Convenio.Comentarios = proyecto.Convenio.Comentarios; Convenio.ProyectoID = proyecto.ID; Convenio.Periodo = prox_periodo; Convenio.Mes = prox_mes; Convenio.FechaInicio = proyecto.Convenio.FechaInicio; Convenio.FechaTermino = proyecto.Convenio.FechaTermino; db.Convenio.Add(Convenio); db.SaveChanges(); Proyecto.Convenio = null; Proyecto.ConvenioID = Convenio.ID; db.Entry(Proyecto).State = EntityState.Modified; db.SaveChanges(); Session.Remove("Proyecto"); Session.Add("Proyecto", Proyecto); //Response.Write("convenio actualizado"); //} } catch (Exception e) { //throw new Exception(e.StackTrace); @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e)); return(View()); } // Cerramos movimientos del período int suma_ingresos = 0; int suma_egresos = 0; try { //List<Movimiento> movimientos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).ToList(); //List<Movimiento> ingresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).ToList(); //List<Movimiento> egresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).ToList(); List <Movimiento> ingresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).Where(m => m.TipoComprobanteID != ctes.tipoEgreso).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).ToList(); List <Movimiento> egresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).Where(m => m.TipoComprobanteID == ctes.tipoEgreso).Where(m => m.Nulo == null && m.Temporal == null && m.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).ToList(); suma_ingresos = ingresos.Sum(m => m.Monto_Ingresos); suma_egresos = egresos.Sum(m => m.Monto_Egresos); foreach (Movimiento movimiento in ingresos) { movimiento.Cerrado = "S"; if (ModelState.IsValid) { db.Entry(movimiento).State = EntityState.Modified; db.SaveChanges(); } else { throw new Exception("ModelState no válido. (" + movimiento.ID + ")"); } } foreach (Movimiento movimiento in egresos) { movimiento.Cerrado = "S"; if (ModelState.IsValid) { db.Entry(movimiento).State = EntityState.Modified; db.SaveChanges(); } else { throw new Exception("ModelState no válido. (" + movimiento.ID + ")"); } } } catch (Exception e) { @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e)); return(View()); //throw new Exception(e.StackTrace); } // Cerramos el periodo Periodo periodo_cierre = new Periodo(); periodo_cierre.Mes = mes; periodo_cierre.Ano = periodo; periodo_cierre.ProyectoID = proyecto.ID; periodo_cierre.Indemnizacion = indemnizacion; periodo_cierre.Fecha = DateTime.Now; periodo_cierre.PersonaID = persona.ID; try { if (ModelState.IsValid) { db.Periodo.Add(periodo_cierre); db.SaveChanges(); if (mes == 12) { Session.Add("Mes", 1); Session.Add("Periodo", periodo + 1); } else { Session.Add("Mes", mes + 1); Session.Add("Periodo", periodo); } Session.Add("Fecha", Meses[(int)Session["Mes"] - 1] + " " + Session["Periodo"].ToString()); //Session.Add("InformacionPie", proyecto.NombreLista + " (" + cuentaCorriente.NumeroLista + ") | " + persona.NombreCompleto + " | " + Session["Fecha"].ToString()); Usuario usuario = (Usuario)Session["Usuario"]; Persona Persona = (Persona)Session["Persona"]; if (usuario.esAdministrador) { Session.Add("InformacionPie", proyecto.NombreLista + " (" + cuentaCorriente.NumeroLista + ") | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString() + " | ProyectoID: " + proyecto.ID + " CtaCteID: " + cuentaCorriente.ID + " PersonaID: " + Persona.ID); } else { Session.Add("InformacionPie", proyecto.NombreLista + " (" + cuentaCorriente.NumeroLista + ") | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString()); } } } catch (Exception e) { //@ViewBag.Mensaje = utils.mensajeError(e.Message); //return View(); throw new Exception(e.StackTrace); } try { Saldo saldoOriginal = db.Saldo.Where(m => m.CuentaCorrienteID == cuentaCorriente.ID).Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Single(); //int saldoFinal = saldoOriginal.SaldoInicialCartola + suma_ingresos - suma_egresos - indemnizacion; int saldoFinal = saldoOriginal.SaldoInicialCartola + suma_ingresos - suma_egresos; //saldoOriginal.SaldoFinalCartola = saldoFinal; saldoOriginal.SaldoFinal = saldoFinal; db.Entry(saldoOriginal).State = EntityState.Modified; db.SaveChanges(); // ---- Saldo saldo = new Saldo(); saldo.CuentaCorrienteID = cuentaCorriente.ID; saldo.Mes = Int32.Parse(Session["Mes"].ToString()); saldo.Periodo = Int32.Parse(Session["Periodo"].ToString()); saldo.SaldoInicialCartola = saldoFinal; saldo.SaldoFinal = saldoFinal; //saldo.SaldoFinalCartola = saldoFinal; db.Saldo.Add(saldo); db.SaveChanges(); } catch (Exception) {} @ViewBag.Mensaje = utils.mensajeOK("Rendición de cuentas generada con éxito."); return(View()); //return RedirectToAction("Index"); }
public ActionResult Create(Movimiento movimiento) { utils.Log(1, "Inicio proceso de ingreso"); int saldoFinal = 0; int periodo = (int)Session["Periodo"]; int mes = (int)Session["Mes"]; int cuentaID = Int32.Parse(Request.Form["CuentaID"].ToString()); Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; movimiento.NumeroComprobante = 1; if (db.Movimiento.Where(a => a.TipoComprobanteID == 1).Where(a => a.Periodo == periodo).Count() > 0) { movimiento.NumeroComprobante = db.Movimiento.Where(a => a.TipoComprobanteID == 1).Where(a => a.Periodo == periodo).Max(a => a.NumeroComprobante) + 1; } movimiento.EstablecimientoID = Proyecto.ID; movimiento.CuentaCorrienteID = CuentaCorriente.ID; movimiento.Mes = (int)Session["Mes"]; movimiento.Periodo = (int)Session["Periodo"]; movimiento.BeneficiarioID = 2; movimiento.ComprobanteEgresoID = 1; movimiento.TipoComprobanteID = 1; movimiento.CuentaID = cuentaID; ViewBag.NroComprobante = movimiento.NumeroComprobante.ToString(); ViewBag.Arbol = utils.generarSelectHijos(db.Cuenta.Find(Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["ID_CUENTA_INGRESO"])), cuentaID); movimiento.Saldo = saldoFinal; try { if (ModelState.IsValid) { db.Movimiento.Add(movimiento); db.SaveChanges(); @ViewBag.Mensaje = utils.mensajeOK("Ingreso registrado con éxito!"); } else { @ViewBag.Mensaje = utils.mensajeError("Ocurrió un error al registrar el ingreso"); utils.erroresState(ModelState); return(View(movimiento)); } } catch (SqlException e) { @ViewBag.Mensaje = utils.mensajeError(e.Message); return(View(movimiento)); } catch (Exception e) { @ViewBag.Mensaje = utils.mensajeError(e.Message); return(View(movimiento)); } utils.Log(1, "Fin proceso de ingreso"); return(View(movimiento)); /* * int saldoFinal = 0; * int periodo = (int)Session["Periodo"]; * int mes = (int)Session["Mes"]; * Proyecto Establecimiento = (Proyecto)Session["Proyecto"]; * CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; * int NumeroComprobante = 1; * if (db.Movimiento.Where(a => a.TipoComprobanteID == 1).Where(a => a.Periodo == periodo).Count() > 0) * { * NumeroComprobante = db.Movimiento.Where(a => a.TipoComprobanteID == 1).Where(a => a.Periodo == periodo).Max(a => a.NumeroComprobante) + 1; * } * movimiento.EstablecimientoID = Establecimiento.ID; * movimiento.CuentaCorrienteID = CuentaCorriente.ID; * movimiento.Mes = (int)Session["Mes"]; * movimiento.Periodo = (int)Session["Periodo"]; * movimiento.CuentaID = Int32.Parse(Request.Form["CuentaID"].ToString()); * movimiento.NumeroComprobante = NumeroComprobante; * movimiento.BeneficiarioID = 2; * movimiento.ComprobanteEgresoID = 1; * movimiento.TipoComprobanteID = 1; * * /* * try * { * // Si existe registro del saldo actual, se suma monto del ingreso al saldo final * Saldo Saldo = db.Saldo.Where(s => s.CuentaCorrienteID == CuentaCorriente.ID).Where(s => s.Periodo == periodo).Where(s => s.Mes == mes).Single(); * Saldo.SaldoFinal += movimiento.Monto_Ingresos; * if (ModelState.IsValid) * { * db.Entry(Saldo).State = EntityState.Modified; * db.SaveChanges(); * } * else * { * utils.erroresState(ModelState); * return Create(movimiento); * } * saldoFinal = Saldo.SaldoFinal; * utils.Log(1, "Existe registro de saldo para periodo actual, se actualiza el saldo final."); * } * catch (Exception e) * { * utils.Log(1, "No existe registro de saldo para periodo actual. " + e.InnerException.Message); * try * { * // Verificamos si existe periodo anterior * int periodo_anterior = periodo, mes_anterior = mes; * if (mes == 1) * { * mes_anterior = 12; * periodo_anterior--; * } * else * { * mes_anterior--; * } * Saldo SaldoAnterior = db.Saldo.Where(s => s.CuentaCorrienteID == CuentaCorriente.ID).Where(s => s.Periodo == periodo_anterior).Where(s => s.Mes == mes_anterior).Single(); * // Ingresamos nuevo registro de saldo y actualizamos saldo final * Saldo SaldoActual = new Saldo(); * SaldoActual.SaldoInicialCartola = SaldoAnterior.SaldoFinal; * SaldoActual.SaldoFinal = SaldoAnterior.SaldoFinal + movimiento.Monto_Ingresos; * SaldoActual.Periodo = periodo; * SaldoActual.Mes = mes; * SaldoActual.CuentaCorrienteID = CuentaCorriente.ID; * db.Saldo.Add(SaldoActual); * db.SaveChanges(); * saldoFinal = SaldoActual.SaldoFinal; * utils.Log(1, "Existe registro de saldo para periodo anterior y se ingresa y actualiza saldo para periodo actual"); * } * catch (Exception e2) * { * utils.Log(1, "No existe registro de saldo para periodo anterior. " + e2.Message); * try * { * // Si no existe saldo para periodo actual ni anterior, definimos saldo inicial en CERO en el periodo actual para la cuenta corriente. * Saldo SaldoActual = new Saldo(); * SaldoActual.SaldoInicialCartola = 0; * SaldoActual.SaldoFinal = movimiento.Monto_Ingresos; * SaldoActual.Periodo = periodo; * SaldoActual.Mes = mes; * SaldoActual.CuentaCorrienteID = CuentaCorriente.ID; * db.Saldo.Add(SaldoActual); * db.SaveChanges(); * * saldoFinal = 0;// SaldoActual.SaldoFinal; * utils.Log(1, "Se crea registro para saldo para periodo actual y se define saldo inicial CERO."); * } * catch (Exception e3) * { * @ViewBag.Mensaje = utils.mensajeError(e3.Message); * return Create(movimiento); * } * } * } */ /* * movimiento.Saldo = saldoFinal; * try * { * if (ModelState.IsValid) * { * db.Movimiento.Add(movimiento); * db.SaveChanges(); * } * else * { * utils.erroresState(ModelState); * return Create(movimiento); * } * } * catch (Exception e) * { * @ViewBag.Mensaje = utils.mensajeError(e.Message); * return Create(movimiento); * } * * return Create(); * */ }
public void RecalcularSaldos(int p_desde, int p_hasta, int m_desde, int m_hasta, Proyecto p, CuentaCorriente c) { SAG2DB db = new SAG2DB(); int saldoInicial = 0; try { saldoInicial = db.Saldo.Where(s => s.CuentaCorrienteID == c.ID && s.Mes == m_desde && s.Periodo == p_desde).Single().SaldoInicialCartola; } catch (Exception) { saldoInicial = 0; } int saldo = saldoInicial; if (p_desde == p_hasta) { for (int i = m_desde; i <= m_hasta; i++) { int ig = db.Movimiento.Where(m => m.Mes == i && m.ProyectoID == p.ID && m.Periodo == p_desde && m.Nulo == null && m.Temporal == null && m.Eliminado == null).Sum(m => m.Monto_Ingresos); int eg = db.Movimiento.Where(m => m.Mes == i && m.ProyectoID == p.ID && m.Periodo == p_desde && m.Nulo == null && m.Temporal == null && m.Eliminado == null).Sum(m => m.Monto_Egresos); Saldo sa = db.Saldo.Where(s => s.CuentaCorrienteID == c.ID && s.Mes == i && s.Periodo == p_desde).Single(); sa.SaldoInicialCartola = saldo; saldo = saldo + ig - eg; sa.SaldoFinal = saldo; db.Entry(sa).State = EntityState.Modified; db.SaveChanges(); } } // Exite cambio de año en las modificaciones if (p_desde < p_hasta) { for (int i = m_desde; i <= 12; i++) { int ig = db.Movimiento.Where(m => m.Mes == i && m.ProyectoID == p.ID && m.Periodo == p_desde && m.Nulo == null && m.Temporal == null && m.Eliminado == null).Sum(m => m.Monto_Ingresos); int eg = db.Movimiento.Where(m => m.Mes == i && m.ProyectoID == p.ID && m.Periodo == p_desde && m.Nulo == null && m.Temporal == null && m.Eliminado == null).Sum(m => m.Monto_Egresos); Saldo sa = db.Saldo.Where(s => s.CuentaCorrienteID == c.ID && s.Mes == i && s.Periodo == p_desde).Single(); sa.SaldoInicialCartola = saldo; saldo = saldo + ig - eg; sa.SaldoFinal = saldo; db.Entry(sa).State = EntityState.Modified; db.SaveChanges(); } for (int i = 1; i <= m_hasta; i++) { int ig = db.Movimiento.Where(m => m.Mes == i && m.ProyectoID == p.ID && m.Periodo == p_hasta && m.Nulo == null && m.Temporal == null && m.Eliminado == null).Sum(m => m.Monto_Ingresos); int eg = db.Movimiento.Where(m => m.Mes == i && m.ProyectoID == p.ID && m.Periodo == p_hasta && m.Nulo == null && m.Temporal == null && m.Eliminado == null).Sum(m => m.Monto_Egresos); Saldo sa = db.Saldo.Where(s => s.CuentaCorrienteID == c.ID && s.Mes == i && s.Periodo == p_hasta).Single(); sa.SaldoInicialCartola = saldo; saldo = saldo + ig - eg; sa.SaldoFinal = saldo; db.Entry(sa).State = EntityState.Modified; db.SaveChanges(); } } }
public FrmImputacionesCtaCte(string IdCuenta, ItemCuentaCorriente icc, string ProcessName, CuentaCorriente CtaCorriente, string Origen) { InitializeComponent(); _idCuenta = IdCuenta; _itemCuentaCorriente = icc; _processName = ProcessName; _ctaCorriente = CtaCorriente; _origen = Origen; _imputarPagoCtaCte = new businessrules.ImputarPagoCuentaCorriente(this._origen, this._idCuenta, CtaCorriente); Init(); }
public ActionResult Conciliacion(int Periodo, int Mes) { ViewBag.SaldoCartola = "0"; ViewBag.GastosBancarios = "0"; ViewBag.Depositos = "0"; int periodo = Periodo; int mes = Mes; ViewBag.Fecha = DateTime.Now.ToShortDateString(); Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; try { ViewBag.SaldoInicial = db.Saldo.Where(m => m.CuentaCorrienteID == CuentaCorriente.ID).Where(m => m.Periodo == Periodo).Where(m => m.Mes == Mes).Single().SaldoInicialCartola; } catch (Exception) { ViewBag.SaldoInicial = 0; } var movimientos = from m in db.Movimiento where (m.ProyectoID == Proyecto.ID) && ((m.Periodo == periodo && m.Mes == mes) || (m.Periodo < periodo) || (m.Periodo == periodo && m.Mes < mes)) && m.Temporal == null && m.Nulo == null && m.Eliminado == null && ((m.CuentaID != 1 && m.CuentaID != 6) || m.CuentaID == null) orderby m.Periodo, m.Fecha, m.NumeroComprobante select m; ViewBag.periodo = Periodo; ViewBag.mes = Mes; ViewBag.cuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; ViewBag.NumeroCuenta = @ViewBag.cuentaCorriente.Numero; //ViewBag.Cheques = movimientos.Sum(m => m.Monto_Egresos); try { var detalles = from m in db.Movimiento where (m.ProyectoID == Proyecto.ID) && ((m.Periodo == Periodo && m.Mes == Mes) || (m.Periodo < Periodo) || (m.Periodo == Periodo && m.Mes < Mes)) && m.Temporal == null && m.Eliminado == null && m.Nulo == null && ((m.CuentaID != 1 && m.CuentaID != 6) || m.CuentaID == null) select m; ViewBag.Cheques = detalles.Sum(d => d.Monto_Egresos); //ViewBag.Cheques = db.DetalleEgreso.Where(d => d.Egreso.ProyectoID == Proyecto.ID).Where(m => m.Egreso.Periodo <= Periodo).Where(m => m.Egreso.Mes <= Mes).Where(d => d.Conciliado == null && d.Temporal == null && d.Nulo == null && d.CuentaID != 1 && d.CuentaID != 6).Sum(d => d.Monto); } catch (Exception) { ViewBag.Cheques = 0; } try { Conciliacion Conciliacion = db.Conciliacion.Where(c => c.ProyectoID == Proyecto.ID).Where(c => c.Periodo == Periodo).Where(c => c.Mes == Mes).Single(); ViewBag.ConciliacionID = Conciliacion.ID; ViewBag.SaldoCartola = Conciliacion.SaldoCartola; ViewBag.GastosBancarios = Conciliacion.Gastos; ViewBag.Depositos = Conciliacion.Depositos; ViewBag.Fecha = Conciliacion.FechaCartola.ToShortDateString(); ViewBag.SaldoLibro = Conciliacion.SaldoCartola + Conciliacion.Depositos - ViewBag.Cheques + Conciliacion.Gastos; } catch (Exception) { ViewBag.SaldoCartola = 0; ViewBag.GastosBancarios = 0; ViewBag.Depositos = 0; ViewBag.Fecha = DateTime.Now.ToShortDateString(); ViewBag.SaldoLibro = 0; } return(View(movimientos.ToList())); }
public ActionResult Create(Movimiento movimiento) { utils.Log(1, "Inicio proceso de ingreso"); int saldoFinal = 0; int periodo = (int)Session["Periodo"]; int mes = (int)Session["Mes"]; int cuentaID = Int32.Parse(Request.Form["CuentaID"].ToString()); Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; movimiento.NumeroComprobante = 1; movimiento.Descripcion = movimiento.Descripcion.ToUpper(); if (db.Movimiento.Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.TipoComprobanteID == ctes.tipoIngreso).Where(a => a.Periodo == periodo).Count() > 0) { movimiento.NumeroComprobante = db.Movimiento.Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.TipoComprobanteID == ctes.tipoIngreso).Where(a => a.Periodo == periodo).Max(a => a.NumeroComprobante) + 1; } movimiento.ProyectoID = Proyecto.ID; movimiento.CuentaCorrienteID = CuentaCorriente.ID; movimiento.Mes = (int)Session["Mes"]; movimiento.Periodo = (int)Session["Periodo"]; movimiento.PersonaID = null; movimiento.DetalleEgresoID = null; movimiento.ProveedorID = null; movimiento.TipoComprobanteID = ctes.tipoIngreso; movimiento.CuentaID = cuentaID; ViewBag.NroComprobante = movimiento.NumeroComprobante.ToString(); ViewBag.Arbol = utils.generarSelectHijos(db.Cuenta.Find(ctes.raizCuentaIngresos), cuentaID); movimiento.Saldo = saldoFinal; movimiento.NDocumento = 0; try { Usuario Usuario = (Usuario)Session["Usuario"]; movimiento.UsuarioID = Usuario.ID; movimiento.FechaCreacion = DateTime.Now; if (ModelState.IsValid) { db.Movimiento.Add(movimiento); db.SaveChanges(); } else { utils.erroresState(ModelState); throw new Exception("Ocurrió un error al registrar el ingreso"); } if (utils.ingresarSaldoIngreso(movimiento, ModelState)) { @ViewBag.Mensaje = utils.mensajeOK("Ingreso registrado con éxito!"); } else { throw new Exception("Ocurrio un error al actualiza el saldo de la cuenta corriente."); } } catch (SqlException e) { @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e)); return(View(movimiento)); } catch (Exception e) { @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e)); return(View(movimiento)); } utils.Log(1, "Fin proceso de ingreso"); if (Request.Form["ImprimirComprobante"].ToString().Equals("true")) { return(RedirectToAction("Edit", new { @id = movimiento.ID, @imprimir = "true" })); } else { return(RedirectToAction("Create")); } //return View(movimiento); }
public ActionResult Create(Movimiento movimiento) { int periodo = (int)Session["Periodo"]; int mes = (int)Session["Mes"]; Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; movimiento.NumeroComprobante = 1; bool senainfo = false; if (senainfo) { if (db.Movimiento.Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.TipoComprobanteID != ctes.tipoIngreso).Where(a => a.Periodo == periodo).Count() > 0) { movimiento.NumeroComprobante = db.Movimiento.Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.TipoComprobanteID != ctes.tipoIngreso).Where(a => a.Periodo == periodo).Max(a => a.NumeroComprobante) + 1; } } else { if (db.Movimiento.Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.TipoComprobanteID == ctes.tipoReintegro).Where(a => a.Periodo == periodo).Count() > 0) { movimiento.NumeroComprobante = db.Movimiento.Where(m => m.ProyectoID == Proyecto.ID).Where(a => a.TipoComprobanteID == ctes.tipoReintegro).Where(a => a.Periodo == periodo).Max(a => a.NumeroComprobante) + 1; } } movimiento.ProyectoID = Proyecto.ID; movimiento.CuentaCorrienteID = CuentaCorriente.ID; movimiento.Mes = (int)Session["Mes"]; movimiento.Periodo = (int)Session["Periodo"]; movimiento.TipoComprobanteID = ctes.tipoReintegro; movimiento.Descripcion = movimiento.Descripcion.ToUpper(); if (movimiento.NDocumento == 0 || movimiento.NDocumento == null) { movimiento.NDocumento = 1; } try { Usuario Usuario = (Usuario)Session["Usuario"]; movimiento.UsuarioID = Usuario.ID; movimiento.FechaCreacion = DateTime.Now; if (ModelState.IsValid) { db.Movimiento.Add(movimiento); db.SaveChanges(); } else { throw new Exception("Ocurrió un error al registrar el reintegro."); } if (!utils.ingresarSaldoIngreso(movimiento, ModelState)) { throw new Exception("Ocurrio un error al actualiza el saldo de la cuenta corriente."); } else { //return RedirectToAction("Create"); } } catch (Exception e) { @ViewBag.Mensaje = utils.mensajeError(e.Message); } if (Request.Form["ImprimirComprobante"].ToString().Equals("true")) { return(RedirectToAction("Edit", new { @id = movimiento.ID, @imprimir = "true" })); } else { return(RedirectToAction("Create")); } }
public ActionResult RegistroSemanalPago() { DateTime inicio; DateTime fin; Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; if (Request.QueryString["i"] != null && Request.QueryString["f"] != null && Request.QueryString["s"] != null) { @ViewBag.Fecha = Request.QueryString["s"].ToString(); inicio = DateTime.Parse(Request.QueryString["i"].ToString()); fin = DateTime.Parse(Request.QueryString["f"].ToString()).AddDays(1); } else { DateTime Fecha = new DateTime(); try { Fecha = new DateTime((int)Session["Periodo"], (int)Session["Mes"], DateTime.Now.Day); } catch (Exception) { try { Fecha = new DateTime((int)Session["Periodo"], (int)Session["Mes"], 30); } catch (Exception) { try { Fecha = new DateTime((int)Session["Periodo"], (int)Session["Mes"], 29); } catch (Exception) { Fecha = new DateTime((int)Session["Periodo"], (int)Session["Mes"], 28); } } } @ViewBag.Fecha = Fecha.ToShortDateString(); // Si semana empieza el domingo, agregar 2 int add = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["addDays"]); int rm = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["rmDays"]); DateTime to = DateTime.Now.AddDays(add); // stores today date int x = (int)to.DayOfWeek; // gets the day of this week inicio = to.AddDays(-x - rm); // get the start date of this week fin = to.AddDays(6 - x - rm); // get the end date of this week } List <Movimiento> Ingresos = db.Movimiento.Where(m => m.Fecha >= inicio).Where(m => m.Fecha <= fin).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.TipoComprobanteID != ctes.tipoEgreso).Where(m => m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).ToList(); List <Movimiento> Egresos = db.Movimiento.Where(m => m.Fecha >= inicio).Where(m => m.Fecha <= fin).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.TipoComprobanteID == ctes.tipoEgreso).Where(m => m.Temporal == null && m.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).ToList(); @ViewBag.Ingresos_Reintegros = Ingresos; @ViewBag.Egresos = Egresos; ViewBag.total_ingresos = Ingresos.Sum(i => i.Monto_Ingresos); ViewBag.total_egresos = Egresos.Sum(e => e.Monto_Egresos); ViewBag.Monto_Ingresos = 0; ViewBag.Monto_Egresos = 0; ViewBag.SaldoFinal = 0; try { DateTime inicioTmp = new DateTime(inicio.Year, inicio.Month, 1); //DateTime inicioTmp = DateTime.Parse("01-" + inicio.Month + "-" + inicio.Year); //inicio = inicioTmp; //int ingresos = db.Movimiento.Where(m => m.Fecha >= inicio).Where(m => m.Fecha <= fin).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).Sum(m => m.Monto_Ingresos); //int egresos = db.Movimiento.Where(m => m.Fecha >= inicio).Where(m => m.Fecha <= fin).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.Nulo == null && m.Temporal == null && m.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).Sum(m => m.Monto_Egresos); //Movimiento mv = db.Movimiento.Where(m => m.Fecha >= inicio).Where(m => m.Fecha <= fin).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.Nulo == null).Where(a => a.Temporal == null).OrderBy(m => m.ID).Take(1).Single(); List <Movimiento> Ingresos_t = db.Movimiento.Where(m => m.Fecha >= inicioTmp).Where(m => m.Fecha < inicio).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.TipoComprobanteID != ctes.tipoEgreso).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).ToList(); List <Movimiento> Egresos_t = db.Movimiento.Where(m => m.Fecha >= inicioTmp).Where(m => m.Fecha < inicio).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.TipoComprobanteID == ctes.tipoEgreso).Where(m => m.Nulo == null && m.Temporal == null && m.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).ToList(); ViewBag.Monto_Ingresos = Ingresos_t.Sum(i => i.Monto_Ingresos);; ViewBag.Monto_Egresos = Egresos_t.Sum(e => e.Monto_Egresos); //ViewBag.SaldoFinal = ingresos - egresos;//mv.Saldo; } catch { } ViewBag.SaldoPeriodo = 0; // Obtenemos saldo hasta la semana seleccionada int periodo = inicio.Year; int mes = inicio.Month; int saldoInicial = 0; try { saldoInicial = db.Saldo.Where(m => m.CuentaCorrienteID == CuentaCorriente.ID && m.Periodo == periodo & m.Mes == mes).Single().SaldoInicialCartola; } catch (Exception) { // Error, no ha saldo para el periodo try { Saldo Saldo = db.Saldo.Where(m => m.CuentaCorrienteID == CuentaCorriente.ID).Single(); if (periodo == Saldo.Periodo && mes > Saldo.Mes) { saldoInicial = Saldo.SaldoInicialCartola; } } catch (Exception) { } } try { int ingresos = db.Movimiento.Where(m => m.Fecha < inicio && m.Periodo == periodo && m.Mes == mes).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).Sum(m => m.Monto_Ingresos); int egresos = db.Movimiento.Where(m => m.Fecha < inicio && m.Periodo == periodo && m.Mes == mes).Where(m => m.ProyectoID == Proyecto.ID).Where(m => m.Nulo == null && m.Temporal == null && m.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).Sum(m => m.Monto_Egresos); ViewBag.SaldoPeriodo = ingresos - egresos + db.Saldo.Where(m => m.CuentaCorrienteID == CuentaCorriente.ID).Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Single().SaldoInicialCartola; } catch (Exception) { //Response.Write(e.Message + " "+e.StackTrace); } ViewBag.SaldoInicial = saldoInicial; return(View()); }
public void ParaPoderSerializar(CuentaCorriente unaCC, CuentaCAhorro unaCA) { }
public ImputarPagoCuentaCorriente(string Origen, string IdCuenta, CuentaCorriente CtaCte) { _origen = Origen; _idCuenta = IdCuenta; _ctaCte = CtaCte; }
public ActionResult Conciliacion(FormCollection form) { ViewBag.ConciliacionID = "0"; ViewBag.SaldoCartola = "0"; ViewBag.GastosBancarios = "0"; ViewBag.Depositos = "0"; ViewBag.Fecha = DateTime.Now.ToShortDateString(); int periodo = Int32.Parse(form["Periodo"]); int mes = Int32.Parse(form["Mes"].ToString()); Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; // Periodo anterior try { ViewBag.SaldoInicial = db.Saldo.Where(m => m.CuentaCorrienteID == CuentaCorriente.ID).Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Single().SaldoInicialCartola; } catch (Exception) { ViewBag.SaldoInicial = 0; } var movimientos = from m in db.Movimiento where (m.ProyectoID == Proyecto.ID) && ((m.Periodo == periodo && m.Mes == mes) || (m.Periodo < periodo) || (m.Periodo == periodo && m.Mes < mes)) && m.Temporal == null && m.Nulo == null && m.Eliminado == null && ((m.CuentaID != 1 && m.CuentaID != 6) || m.CuentaID == null) orderby m.Periodo, m.Fecha, m.NumeroComprobante select m; //var movimientos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == Proyecto.ID); @ViewBag.periodo = periodo; @ViewBag.mes = mes; @ViewBag.cuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; @ViewBag.NumeroCuenta = @ViewBag.cuentaCorriente.Numero; if ((Request.Form["Guardar"] != null && Request.Form["Guardar"].ToString().Equals("Guardar")) || (Request.Form["ImprimirConciliacion"] != null && Request.Form["ImprimirConciliacion"].ToString().Equals("Imprimir"))) { try { //int ID = Int32.Parse(Request.Form["ConciliacionID"].ToString()); Conciliacion Conciliacion = db.Conciliacion.Where(c => c.ProyectoID == Proyecto.ID).Where(c => c.Periodo == periodo).Where(c => c.Mes == mes).Single(); Conciliacion.Depositos = Int32.Parse(Request.Form["Depositos"].ToString()); Conciliacion.FechaCartola = DateTime.Parse(Request.Form["Fecha"].ToString()); Conciliacion.FechaConciliacion = DateTime.Now; Conciliacion.Gastos = Int32.Parse(Request.Form["GastosBancarios"].ToString()); Conciliacion.SaldoCartola = Int32.Parse(Request.Form["SaldoCartola"].ToString()); Conciliacion.PersonaID = ((Persona)Session["Persona"]).ID; db.Entry(Conciliacion).State = EntityState.Modified; db.SaveChanges(); //ViewBag.ConciliacionID = Conciliacion.ID; ViewBag.SaldoCartola = Conciliacion.SaldoCartola; ViewBag.GastosBancarios = Conciliacion.Gastos; ViewBag.Depositos = Conciliacion.Depositos; ViewBag.Fecha = Conciliacion.FechaCartola.ToShortDateString(); } catch (Exception) { Conciliacion Conciliacion = new Conciliacion(); //ViewBag.ConciliacionID = Conciliacion.ID; //Conciliacion Conciliacion = db.Conciliacion.Where(c => c.ProyectoID == Proyecto.ID).Where(c => c.Periodo == periodo).Where(c => c.Mes == mes).Single(); Conciliacion.Depositos = Int32.Parse(Request.Form["Depositos"].ToString()); Conciliacion.FechaCartola = DateTime.Parse(Request.Form["Fecha"].ToString()); Conciliacion.FechaConciliacion = DateTime.Now; Conciliacion.Gastos = Int32.Parse(Request.Form["GastosBancarios"].ToString()); Conciliacion.SaldoCartola = Int32.Parse(Request.Form["SaldoCartola"].ToString()); Conciliacion.Periodo = periodo; Conciliacion.Mes = mes; Conciliacion.PersonaID = ((Persona)Session["Persona"]).ID; Conciliacion.ProyectoID = Proyecto.ID; db.Conciliacion.Add(Conciliacion); db.SaveChanges(); //ViewBag.ConciliacionID = Conciliacion.ID; ViewBag.SaldoCartola = Conciliacion.SaldoCartola; ViewBag.GastosBancarios = Conciliacion.Gastos; ViewBag.Depositos = Conciliacion.Depositos; ViewBag.Fecha = Conciliacion.FechaCartola.ToShortDateString(); } /* * ViewBag.SaldoCartola = Request.Form["SaldoCartola"].ToString(); * ViewBag.GastosBancarios = Request.Form["GastosBancarios"].ToString(); * ViewBag.Depositos = Request.Form["Depositos"].ToString(); * ViewBag.Fecha = Request.Form["Fecha"].ToString(); * * * try * { * Conciliacion Conciliacion = db.Conciliacion.Where(c => c.ProyectoID == Proyecto.ID).Where(c => c.Periodo == periodo).Where(c => c.Mes == mes).Single(); * ViewBag.ConciliacionID = Conciliacion.ID; * ViewBag.SaldoCartola = Conciliacion.SaldoCartola; * ViewBag.GastosBancarios = Conciliacion.Gastos; * ViewBag.Depositos = Conciliacion.Depositos; * ViewBag.Fecha = Conciliacion.FechaCartola.ToShortDateString(); * } * catch (Exception) * { } */ } try { Conciliacion Conciliacion = db.Conciliacion.Where(c => c.ProyectoID == Proyecto.ID).Where(c => c.Periodo == periodo).Where(c => c.Mes == mes).Single(); //ViewBag.ConciliacionID = Conciliacion.ID; ViewBag.SaldoCartola = Conciliacion.SaldoCartola; ViewBag.GastosBancarios = Conciliacion.Gastos; ViewBag.Depositos = Conciliacion.Depositos; ViewBag.Fecha = Conciliacion.FechaCartola.ToShortDateString(); } catch (Exception) { } if (Request.Form["ImprimirConciliacion"] != null && Request.Form["ImprimirConciliacion"].ToString().Equals("Imprimir")) { @ViewBag.Imprimir = "true"; } else { @ViewBag.Imprimir = "false"; } return(View(movimientos.ToList())); }
public ActionResult Edit(Movimiento movimiento) { Usuario Usuario = (Usuario)Session["Usuario"]; int periodo = (int)Session["Periodo"]; int mes = (int)Session["Mes"]; Persona persona = (Persona)Session["Persona"]; Proyecto Proyecto = (Proyecto)Session["Proyecto"]; CuentaCorriente CuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"]; int montoOriginal = Int32.Parse(Request.Form["MontoOriginal"].ToString()); movimiento.CuentaID = Int32.Parse(Request.Form["CuentaID"].ToString()); //movimiento.DetalleEgresoID = Int32.Parse(Request.Form["DetalleEgresoID"].ToString()); movimiento.PersonaID = null; movimiento.ProveedorID = null; movimiento.TipoComprobanteID = ctes.tipoReintegro; int originalID = movimiento.ID; movimiento.Descripcion = movimiento.Descripcion.ToUpper(); int?modificadoID = 0; ViewBag.UltimoIdentificador = "0"; try { ViewBag.UltimoIdentificador = db.Movimiento.Where(m => m.ProyectoID == movimiento.ProyectoID).Where(a => a.TipoComprobanteID == ctes.tipoReintegro).Max(a => a.ID).ToString(); } catch (Exception) { } if (!movimiento.Periodo.Equals(periodo) || !movimiento.Mes.Equals(mes)) { if (Usuario.esAdministrador || Usuario.esSupervisor) { if (ModelState.IsValid) { try { db.Movimiento.Attach(movimiento); db.Entry(movimiento).State = EntityState.Modified; db.SaveChanges(); // Se deben actualizar los saldos int mes_comprobante = movimiento.Mes; int periodo_comprobante = movimiento.Periodo; int mes_proyecto = mes; int periodo_proyecto = periodo; utils.RecalcularSaldos(periodo_comprobante, periodo_proyecto, mes_comprobante, mes_proyecto, Proyecto, CuentaCorriente); } catch (Exception e) { utils.Log(2, e.Message); ViewBag.Mensaje = utils.mensajeError("No fue posible modificar este Reintegro, intente nuevamente."); } } } else { // Se elimina cualquier modificación anterior, solo queda la última. try { Autorizacion autorizaciontmp = db.Autorizacion.Where(a => a.OriginalID == originalID).Single(); modificadoID = autorizaciontmp.ModificadoID; db.Autorizacion.Remove(autorizaciontmp); db.SaveChanges(); } catch (Exception) { } try { Movimiento tmp = db.Movimiento.Find(modificadoID); db.Movimiento.Remove(tmp); db.SaveChanges(); } catch (Exception) { } // Edicion del movimiento debe autorizarse, cambios se registran de forma temporal. movimiento.ID = 0; movimiento.Temporal = "S"; movimiento.Eliminado = "N"; movimiento.UsuarioID = Usuario.ID; db.Movimiento.Add(movimiento); db.SaveChanges(); // Se registra en la tabla de Autorizaciones Autorizacion autorizacion = new Autorizacion(); autorizacion.OriginalID = originalID; autorizacion.ModificadoID = movimiento.ID; autorizacion.SolicitaID = persona.ID; autorizacion.Tipo = "Modificación"; autorizacion.FechaSolicitud = DateTime.Now; db.Autorizacion.Add(autorizacion); db.SaveChanges(); ViewBag.Mensaje = utils.mensajeAdvertencia("La modificación ha sido solicitada al Supervisor."); } } else { movimiento.UsuarioID = Usuario.ID; if (movimiento.NDocumento == 0 || movimiento.NDocumento == null) { movimiento.NDocumento = 1; } if (ModelState.IsValid) { try { db.Entry(movimiento).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Create")); } catch (Exception e) { utils.Log(2, e.Message); ViewBag.Mensaje = utils.mensajeError("No fue posible modificar este Ingreso, intente nuevamente"); } } if (utils.actualizarSaldoIngreso(movimiento, ModelState, montoOriginal)) { @ViewBag.Mensaje = utils.mensajeOK("Ingreso registrado con éxito!"); } else { @ViewBag.Mensaje = utils.mensajeError("Ocurrió un error el actualizar los saldos"); } } DetalleEgreso detalle = db.DetalleEgreso.Find(movimiento.DetalleEgresoID); ViewBag.detalle = detalle; ViewBag.Arbol = utils.generarSelectHijos(db.Cuenta.Find(ctes.raizCuentaEgresos), movimiento.CuentaID); return(View(movimiento)); }
private CuentaCorriente GetCuentaCorriente(int id) { CuentaCorriente cuentaBuscada = cuentasCorriente.Find(buscada => buscada.Id == id); return(cuentaBuscada); }
static void Main(string[] args) { int opcion = 0; string value; char continuar = 's'; Persona p1 = new Persona(); p1.Nombre = "Joel"; p1.Apellido = "Mora"; p1.Edad = 20; p1.Saludar(); string datosPersonales = p1.RecuperarDatosPersonales(); Console.WriteLine(datosPersonales); Console.WriteLine("***********************************"); Empleado e1 = new Empleado(); e1.Nombre = "Walter"; e1.Apellido = "Martinez"; e1.Sueldo = 40000; e1.Edad = 20; e1.Saludar(); e1.Trabajar(); Console.WriteLine(e1.RecuperarDatosPersonales()); Banco banco = new Banco(); CuentaCorriente cc1 = new CuentaCorriente(1234, 1000); TarjetaDeCredito tarjetaCredito = new TarjetaDeCredito(); tarjetaCredito.Nombre = "VISA GOLD"; tarjetaCredito.PrecioVenta = 300; banco.VenderProducto(cc1); // banco.VenderProducto(tarjetaCredito); Console.WriteLine(cc1); Console.WriteLine(cc1.ToString()); /* * CajaDeAhorro ca1 = new CajaDeAhorro(); * ca1.Saldo = 500; * ca1.Numero = 123123; * * banco.ExtraerDeCuenta(ca1, 3000); * banco.ExtraerDeCuenta(ca1, 100); * * banco.ExtraerDeCuenta(cc1, 400); * * * RRHH rrhh = new RRHH(); * rrhh.MostrarDatosPersonales(p1); * rrhh.MostrarDatosPersonales(e1); * * do * { * * * * Console.WriteLine("\n1 CAJA DE AHORRO\n" + * "2 CUENTA CORRIENTE\n" + * "3 SALIR\n\n" + * "A que cuenta desea acceder?"); * * value = Console.ReadLine(); * opcion = Convert.ToInt32(value); * * switch (opcion) * { * case 1: * * break; * case 2: * * break; * case 3: * * break; * default: * * break; * } * * } while (continuar == 's'); */ }
public ActionResult Index(FormCollection collection) { var Meses = new string[12] { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }; string mensaje = ""; Usuario usuario = new Usuario(); string contraseña = utils.md5(collection["Password"].ToString().ToLower()); string nombreUsuario = collection["NombreUsuario"].ToString().ToLower(); try { usuario = (from u in db.Usuario where u.Nombre == nombreUsuario && u.Password == contraseña select u).Single(); if (!usuario.estaHabilitado) { mensaje = utils.mensajeError("Su cuenta se encuentra deshabilitado para ingresar a SAG2."); return(Index(mensaje)); } Persona Persona = db.Persona.Find(usuario.PersonaID); Session.Add("Persona", Persona); Session.Add("Usuario", usuario); Session.Add("Logueado", true); Rol Rol = new Rol(); if (usuario.esAdministrador) { Session.Add("CambioTipo", true); Session.Add("Rol", Rol); Response.Redirect("./Proyecto", true); } Proyecto Proyecto = new Proyecto(); CuentaCorriente CuentaCorriente = new CuentaCorriente(); // Se obtiene lista de roles del usuario List <Rol> Roles = db.Rol.Where(r => r.PersonaID == Persona.ID).ToList(); if (Roles.Count == 1) { // Carga de perfil y establecimiento para cuando tiene un establecimiento asignado Session.Add("Rol", Roles[0]); Proyecto = db.Proyecto.Find(Roles[0].ProyectoID); Session.Add("Proyecto", Proyecto); List <CuentaCorriente> CuentasCorrientes = db.CuentaCorriente.Where(r => r.ProyectoID == Proyecto.ID).Distinct().ToList(); // Si el proyecto está eliminado, no es posible acceder a él. if (Proyecto.estaEliminado) { throw new Exception("El Proyecto asignado se eliminó y no es posible acceder."); } // Si el usuario es normal, no es ni supervisor ni administrador if (!usuario.esSupervisor && !usuario.esAdministrador && Proyecto.estaCerrado) { throw new Exception("El Proyecto asignado está cerrado y no es posible acceder."); } // Verificamos periodo y mes abierto try { Periodo Periodo = (from p in db.Periodo where p.ProyectoID == Proyecto.ID orderby p.Ano descending, p.Mes descending select p).Take(1).Single(); int periodo_actual, mes_actual; if (Periodo.Mes == 12) { mes_actual = 1; periodo_actual = Periodo.Ano + 1; } else { mes_actual = Periodo.Mes + 1; periodo_actual = Periodo.Ano; } Session.Add("Mes", mes_actual); Session.Add("Periodo", periodo_actual); Session.Add("Fecha", Meses[mes_actual - 1] + " " + periodo_actual); } catch (Exception e) { utils.Log(1, "No hay periodos cerramos en la base de datos, por lo tanto se selecciona fecha actual. " + e.Message); if (Proyecto.MesInicio == null) { Session.Add("Mes", DateTime.Now.Month); Session.Add("Periodo", DateTime.Now.Year); Session.Add("Fecha", Meses[DateTime.Now.Month - 1] + " " + DateTime.Now.Year); } else { Session.Add("Mes", Proyecto.MesInicio); Session.Add("Periodo", Proyecto.PeriodoInicio); Session.Add("Fecha", Meses[Proyecto.MesInicio.Value - 1] + " " + Proyecto.PeriodoInicio); } } if (CuentasCorrientes.Count == 1) { CuentaCorriente = (CuentaCorriente)db.CuentaCorriente.Where(r => r.ProyectoID == Proyecto.ID).Single(); Session.Add("CuentaCorriente", CuentaCorriente); if (usuario.esAdministrador) { Session.Add("InformacionPie", Proyecto.NombreLista + " | " + CuentaCorriente.Banco.Nombre + " " + CuentaCorriente.NumeroLista + " | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString() + " | ProyectoID: " + Proyecto.ID + " CtaCteID: " + CuentaCorriente.ID + " PersonaID: " + Persona.ID); } else { Session.Add("InformacionPie", Proyecto.NombreLista + " | " + CuentaCorriente.Banco.Nombre + " " + CuentaCorriente.NumeroLista + " | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString()); } } else { utils.Log(2, "LOGIN NOK | El proyecto no tiene asignada ninguna cuenta corriente asignada."); return(RedirectToAction("IngresoCuentaCorriente")); } } else if (Roles.Count > 1) { Response.Redirect("./Proyecto", true); } else { mensaje = utils.mensajeError("Usted no tiene permisos sobre ningún proyecto."); return(Index(mensaje)); } } catch (Exception e) { mensaje = utils.mensajeError("Nombre de usuario o contraseña inválida. " + e.Message); utils.Log(2, "LOGIN NOK | " + e.Message + e.StackTrace); if (e.InnerException != null) { utils.Log(2, "LOGIN NOK | " + e.InnerException.Message + e.StackTrace); if (e.InnerException.Message.Contains("The server was not found")) { mensaje = utils.mensajeError("El servidor de Base de Datos no se encuentra disponible. " + e.InnerException.Message + e.InnerException.StackTrace); } } return(Index(mensaje)); } utils.Log(1, "LOGIN OK | " + usuario.Nombre + " | " + Request.UserAgent + " | " + Request.UserHostAddress); Response.Redirect(FormsAuthentication.DefaultUrl, true); return(Index()); }