public void Actualizar(List <Models.WebServices.TasaMora> tasasMora) { using (var db = new SMPorresEntities()) { using (var trx = db.Database.BeginTransaction()) try { db.TasasMoraWebs.RemoveRange(db.TasasMoraWebs); for (int i = 0; i < tasasMora.Count; i++) { var item = tasasMora.ElementAt(i); var t = new TasasMoraWeb { Id = i + 1, Desde = item.Desde, Hasta = item.Hasta, Tasa = item.Tasa, Estado = item.Estado }; db.TasasMoraWebs.Add(t); } db.SaveChanges(); trx.Commit(); } catch (Exception ex) { trx.Rollback(); throw ex; } } }
public static void Actualizar(string nombre, string descripción, string nombrePadre) { using (var db = new SMPorresEntities()) { var padre = ObtenerMenuItem(nombrePadre) ?? new ItemsMenu { Id = 0 }; if (!db.ItemsMenus.Any(im => im.Nombre == nombre && padre.Nombre == nombrePadre)) { var im = new ItemsMenu(); im.Id = db.ItemsMenus.Any() ? db.ItemsMenus.Max(c1 => c1.Id) + 1 : 1; im.Nombre = nombre; im.Descripcion = descripción; im.IdPadre = padre.Id; db.ItemsMenus.Add(im); } else { var im = db.ItemsMenus.First(im1 => im1.Nombre == nombre); im.Nombre = nombre; im.Descripcion = descripción; im.IdPadre = padre.Id; } db.SaveChanges(); } }
internal static List <Pago> CrearCuotas(SMPorresEntities db, PlanPago planPago, int modalidad) { //leer modalidad y obtener minCuota y maxCuota short minC = CursosRepository.ObtieneMinCuota(modalidad); short maxC = CursosRepository.ObtieneMaxCuota(modalidad); var result = new List <Pago>(); if (minC != maxC) { var curso = CursosRepository.ObtenerCursoPorId(planPago.IdCurso); var cuotas = from c in CuotasRepository.ObtenerCuotasActuales() select new { c.NroCuota, c.VtoCuota }; for (short i = minC; i <= maxC; i++) { var p = new Pago(); p.Id = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1; p.IdPlanPago = planPago.Id; p.NroCuota = i; p.ImporteCuota = (i == 0) ? curso.ImporteMatricula : curso.ImporteCuota; p.Estado = (byte)EstadoPago.Impago; p.FechaVto = cuotas.First(c => c.NroCuota == i).VtoCuota; db.Pagos.Add(p); db.SaveChanges(); result.Add(p); } } return(result); }
internal static void ActualizarCuotas(int idCurso, decimal importe, bool esMatrícula) { var ciclo = ConfiguracionRepository.ObtenerConfiguracion().CicloLectivo; using (var db = new SMPorresEntities()) { var pagos = from p in db.Pagos join pp in db.PlanesPago on p.IdPlanPago equals pp.Id join ca in db.CursosAlumnos on new { pp.IdCurso, pp.IdAlumno } equals new { ca.IdCurso, ca.IdAlumno } where !p.Fecha.HasValue && pp.IdCurso == idCurso && ca.CicloLectivo == ciclo select p; db.Database.Log = s => System.Diagnostics.Debug.WriteLine(s); if (esMatrícula) { pagos = pagos.Where(m => m.NroCuota == 0); } else { pagos = pagos.Where(m => m.NroCuota > 0); } foreach (var m in pagos) { m.ImporteCuota = importe; } db.SaveChanges(); } }
private static PlanPago CrearPlanPago(SMPorresEntities db, int idAlumno, int idCurso, short porcentajeBeca, int modalidad, TipoBeca tipoBeca) { var curso = CursosRepository.ObtenerCursoPorId(idCurso); var plan = new PlanPago { Id = db.PlanesPago.Any() ? db.PlanesPago.Max(c1 => c1.Id) + 1 : 1, IdAlumno = idAlumno, IdCurso = idCurso, //Curso = curso, CantidadCuotas = CursosRepository.ObtieneMaxCuota(modalidad), //Configuration.MaxCuotas, NroCuota = CursosRepository.ObtieneMinCuota(modalidad), //1, ImporteCuota = curso.ImporteCuota, PorcentajeBeca = porcentajeBeca, TipoBeca = (byte)tipoBeca, Estado = (short)EstadoPlanPago.Vigente, IdUsuarioEstado = Session.CurrentUser.Id, FechaGrabacion = Configuration.CurrentDate, IdUsuario = Session.CurrentUser.Id, Modalidad = modalidad //curso.Modalidad }; db.PlanesPago.Add(plan); db.SaveChanges(); return(plan); }
public static void InsertarPagosCuotas(SMPorresEntities db, Curso curso, int id) { short minC = CursosRepository.ObtieneMinCuota(curso.Modalidad); short maxC = CursosRepository.ObtieneMaxCuota(curso.Modalidad); var cuotas = from c in CuotasRepository.ObtenerCuotasActuales() select new { c.NroCuota, c.VtoCuota }; if (minC != maxC) { //for (short i = 0; i <= Configuration.MaxCuotas; i++) for (short i = minC; i <= maxC; i++) { var p = new Pago(); p.Id = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1; p.IdPlanPago = id; p.NroCuota = i; p.ImporteCuota = (i == 0) ? curso.ImporteMatricula : curso.ImporteCuota; p.Estado = (byte)EstadoPago.Impago; p.FechaVto = cuotas.First(c => c.NroCuota == i).VtoCuota; db.Pagos.Add(p); db.SaveChanges(); } } }
public static Alumno Insertar(string nombre, string apellido, int idTipoDocumento, decimal nroDocumento, DateTime fechaNacimiento, string email, string dirección, Domicilio domicilio, byte estado, char sexo) { using (var db = new SMPorresEntities()) { var trx = db.Database.BeginTransaction(); try { var id = db.Alumnos.Any() ? db.Alumnos.Max(a1 => a1.Id) + 1 : 1; var a = new Alumno { Id = id, Nombre = nombre, Apellido = apellido, IdTipoDocumento = idTipoDocumento, NroDocumento = nroDocumento, FechaNacimiento = fechaNacimiento, EMail = email, Direccion = dirección, IdDomicilio = DomiciliosRepository.ObtenerIdDomicilio(db, domicilio), Estado = estado, Sexo = sexo.ToString() }; db.Alumnos.Add(a); db.SaveChanges(); trx.Commit(); return(a); } catch (Exception) { trx.Rollback(); throw; } } }
public void Actualizar(SMPorresEntities db, int idCursoAlumno, Models.WebServices.Pago pago) { var p = db.PagosWeb.Find(pago.Id); bool insertar = p == null; if (insertar) { p = new PagoWeb(); p.Id = pago.Id; p.IdCursoAlumno = idCursoAlumno; } p.IdPlanPago = pago.IdPlanPago; p.NroCuota = (short)pago.NroCuota; p.ImporteCuota = pago.ImporteCuota; p.ImporteBeca = pago.ImporteBeca; p.ImporteRecargo = pago.ImporteRecargo; p.ImportePagado = pago.ImportePagado; p.Fecha = (pago.Fecha == default(DateTime)) ? null : pago.Fecha; p.FechaVto = pago.FechaVto; p.ImportePagoTermino = pago.ImportePagoTérmino; p.PorcentajeBeca = pago.PorcentajeBeca; p.FechaVtoPagoTermino = pago.FechaVtoPagoTérmino; p.TipoBeca = pago.TipoBeca; p.Estado = pago.Estado; if (insertar) { db.PagosWeb.Add(p); } db.SaveChanges(); }
public static void Eliminar(decimal id) { using (var db = new SMPorresEntities()) { if (!db.Alumnos.Any(t => t.Id == id)) { throw new Exception("No existe el alumno con Id " + id); } var alumno = db.Alumnos.Find(id); if (alumno.CursosAlumnos.Any()) { var s = " - " + String.Join("\n - ", alumno.CursosAlumnos.Select(ca => String.Format("{0} de {1}", ca.Curso.Nombre, ca.Curso.Carrera.Nombre))); throw new Exception(String.Format("El alumno está asignado a los cursos:\n{1}", alumno.CursosAlumnos.Count(), s)); } if (alumno.PlanesPago.Any()) { var s = " - " + String.Join("\n - ", alumno.PlanesPago.Select(pp => pp.Curso.Nombre)); throw new Exception(String.Format("El alumno tiene {0} planes de pago en los cursos:\n{1}", alumno.PlanesPago.Count(), s)); } if (alumno.Domicilio != null && alumno.Domicilio.Alumnos.Count == 1) { var dom = db.Domicilios.Find(alumno.IdDomicilio); db.Domicilios.Remove(dom); } db.Alumnos.Remove(alumno); db.SaveChanges(); } }
public static BecaAlumno Insertar(int idAlumno, int idPago, short beca) { using (var db = new SMPorresEntities()) { var trx = db.Database.BeginTransaction(); try { var id = db.BecasAlumnos.Any() ? db.BecasAlumnos.Max(ba => ba.Id) + 1 : 1; var b = new BecaAlumno { Id = id, IdAlumno = idAlumno, PorcentajeBeca = beca }; db.BecasAlumnos.Add(b); var p = db.Pagos.Find(idPago); p.BecaAlumno = b; db.SaveChanges(); trx.Commit(); return(b); } catch (Exception) { trx.Rollback(); throw; } } }
public static Curso Insertar(string nombre, int idCarrera, decimal importeMatrícula, decimal descuentoMatrícula, DateTime descuentoHasta, decimal cuota1, decimal cuota2, decimal cuota3, decimal importeCuota, int modalidad, short estado) { using (var db = new SMPorresEntities()) { var id = db.Cursos.Any() ? db.Cursos.Max(c1 => c1.Id) + 1 : 1; var c = new Curso { Id = id, Nombre = nombre, IdCarrera = idCarrera, ImporteMatricula = importeMatrícula, DescuentoMatricula = descuentoMatrícula, FechaVencDescuento = descuentoHasta, Cuota1 = cuota1, Cuota2 = cuota2, Cuota3 = cuota3, ImporteCuota = importeCuota, Modalidad = modalidad, Estado = (short)EstadoCurso.Activo //alta = estado activo }; db.Cursos.Add(c); db.SaveChanges(); return(c); } }
private static Alumno GrabarAlumno(SMPorresEntities db, string nombre, string apellido, int idTipoDocumento, decimal nroDocumento, DateTime fechaNacimiento, string email, string dirección, char sexo) { var id = db.Alumnos.Any() ? db.Alumnos.Max(a1 => a1.Id) + 1 : 1; var a = new Alumno { Id = id, Nombre = nombre, Apellido = apellido, IdTipoDocumento = idTipoDocumento, NroDocumento = nroDocumento, FechaNacimiento = fechaNacimiento, EMail = email, Direccion = dirección, IdDomicilio = null, Estado = 1, Sexo = sexo.ToString(), Contraseña = GenerarContraseña(id, nroDocumento) }; db.Alumnos.Add(a); db.SaveChanges(); return(a); }
internal static void GeneraNuevaCuotaDeMatricula(int idPlanPago, decimal importeCuota, int orden)//idPlanPago, int i, decimal importeCuota, int idPago) //, Curso curso) { using (var db = new SMPorresEntities()) { var cGen = db.Pagos.Where(x => x.IdPlanPago == idPlanPago & x.NroCuota == 0).ToList(); int loop = 1; foreach (var item in cGen) { if (loop == orden) { var pa = db.Pagos.Find(item.Id); pa.Estado = (byte)EstadoPago.Impago; pa.ImporteCuota = importeCuota; pa.ImportePagoTermino = 0; db.SaveChanges(); } loop++; } if (cGen.Count() == 1 && orden == 2) // crea la segunda cuota { GeneraNuevaCuotaDeMatricula(idPlanPago, 0, importeCuota); } if (cGen.Count() == 2 && orden == 3) // crea la tercer cuota { //GeneraNuevaCuota(idPlanPago, 0, cGen.FirstOrDefault().PlanPago.Curso); GeneraNuevaCuotaDeMatricula(idPlanPago, 0, importeCuota); } } }
public void ActualizarYEncriptarContraseña(int idAlumno, string contraseña) { using (var db = new SMPorresEntities()) { var a = db.AlumnosWeb.Find(idAlumno); a.Contraseña = EncriptarContraseña(contraseña); db.SaveChanges(); } }
internal static void ActualizarNroyCantidadCuotas(int id, int modalidad) { using (var db = new SMPorresEntities()) { var pp = db.PlanesPago.Find(id); pp.NroCuota = CursosRepository.ObtieneMinCuota(modalidad); pp.CantidadCuotas = CursosRepository.ObtieneMaxCuota(modalidad); db.SaveChanges(); } }
internal static void GeneraNuevaCuotaDeMatricula(Pago p, decimal importeCuota)//idPlanPago, int i, decimal importeCuota, int idPago) //, Curso curso) { using (var db = new SMPorresEntities()) { var pa = db.Pagos.Find(p.Id); pa.Estado = (byte)EstadoPago.Impago; pa.ImportePagoTermino = p.PlanPago.Curso.DescuentoMatricula; pa.ImporteCuota = importeCuota; db.SaveChanges(); } }
public static PlanPago Actualizar(int planDePagoId, short porcentajeBeca, TipoBeca tipoBeca) { using (var db = new SMPorresEntities()) { var p = db.PlanesPago.Find(planDePagoId); p.PorcentajeBeca = porcentajeBeca; p.TipoBeca = (byte)tipoBeca; db.SaveChanges(); return(p); } }
internal static void Insertar(int idUsuario, int idItemMenu) { using (var db = new SMPorresEntities()) { var id = db.UsuariosItemsMenus.Any() ? db.UsuariosItemsMenus.Max(g1 => g1.Id) + 1 : 1; var uu = new UsuariosItemsMenu { Id = id, IdUsuario = idUsuario, IdItemMenu = idItemMenu }; db.UsuariosItemsMenus.Add(uu); db.SaveChanges(); } }
internal static void Insertar(int idGrupo, int idUsuario) { using (var db = new SMPorresEntities()) { var id = db.GruposUsuarios.Any() ? db.GruposUsuarios.Max(g1 => g1.Id) + 1 : 1; var gu = new GruposUsuario { Id = id, IdGrupo = idGrupo, IdUsuario = idUsuario }; db.GruposUsuarios.Add(gu); db.SaveChanges(); } }
public static void Eliminar(decimal id) { using (var db = new SMPorresEntities()) { if (!db.TasasMora.Any(t => t.Id == id)) { throw new Exception("No existe la tasa con Id " + id); } var t1 = db.TasasMora.Find(id); db.TasasMora.Remove(t1); db.SaveChanges(); } }
internal static void Eliminar(int id) { using (var db = new SMPorresEntities()) { if (!db.Grupos.Any(t => t.Id == id)) { throw new Exception("No existe el grupo con Id " + id); } var c = db.Grupos.Find(id); db.Grupos.Remove(c); db.SaveChanges(); } }
internal static void Eliminar(int idCurso, int idAlumno) { using (var db = new SMPorresEntities()) { var ca = db.CursosAlumnos.FirstOrDefault(t => t.IdCurso == idCurso && t.IdAlumno == idAlumno); if (ca == null) { return; } db.CursosAlumnos.Remove(ca); db.SaveChanges(); } }
internal static void Eliminar(int idUsuario, int idItemMenu) { using (var db = new SMPorresEntities()) { var uu = db.UsuariosItemsMenus.FirstOrDefault(t => t.IdUsuario == idUsuario && t.IdItemMenu == idItemMenu); if (uu == null) { return; } db.UsuariosItemsMenus.Remove(uu); db.SaveChanges(); } }
internal static void Eliminar(int idGrupo, int idUsuario) { using (var db = new SMPorresEntities()) { var gu = db.GruposUsuarios.FirstOrDefault(t => t.IdGrupo == idGrupo && t.IdUsuario == idUsuario); if (gu == null) { return; } db.GruposUsuarios.Remove(gu); db.SaveChanges(); } }
internal void EliminarPagos(SMPorresEntities db, List <CursoAlumno> cursosAlumnos) { foreach (var item in cursosAlumnos) { var pagos = db.PagosWeb.Where(p => p.IdCursoAlumno == item.Id); foreach (var i in pagos) { var p = db.PagosWeb.Find(i.Id); db.PagosWeb.Remove(p); } db.SaveChanges(); } }
internal static void ReiniciarContraseña(int id, string contraseña) { using (var db = new SMPorresEntities()) { if (!db.Usuarios.Any(t => t.Id == id)) { throw new Exception("No existe el usuario con Id " + id); } var u = db.Usuarios.Find(id); u.Contraseña = Lib.Security.Cryptography.CalcularSHA512(contraseña); db.SaveChanges(); } }
public static void AnularPlanDePago(int id) { using (var db = new SMPorresEntities()) { if (!db.PlanesPago.Any(t => t.Id == id)) { throw new Exception(String.Format("No existe plan de pago {0}", id)); } var pp = db.PlanesPago.Find(id); pp.Estado = (int)Models.EstadoPlanPago.Baja; db.SaveChanges(); } }
internal static BecaAlumno Actualizar(int id, short beca) { using (var db = new SMPorresEntities()) { if (!db.BecasAlumnos.Any(t => t.Id == id)) { throw new Exception("No existe la beca con Id " + id); } var b = db.BecasAlumnos.Find(id); b.PorcentajeBeca = beca; db.SaveChanges(); return(b); } }
public static void GrabarRendición(string archivo, List <PagoBSE> pagos) { using (var db = new SMPorresEntities()) { var trx = db.Database.BeginTransaction(); try { var ca = CabecerasArchivosRepository.Insertar(db, TipoArchivo.RendiciónBSE, archivo); var id = db.RendicionesBSE.Any() ? db.RendicionesBSE.Max(t => t.Id) + 1 : 1; foreach (var p in pagos) { var rend = new RendicionBSE(); rend.Id = id++; rend.IdCabeceraArchivo = ca.Id; rend.CodigoSucursal = p.CodigoSucursal; rend.NombreSucursal = p.NombreSucursal; rend.Moneda = p.Moneda; rend.Comprobante = p.Comprobante; rend.TipoMovimiento = p.TipoMovimiento; rend.Importe = p.Importe; rend.FechaProceso = p.FechaProceso; rend.CuilUsuario = p.CuilUsuario; rend.NombreUsuario = p.NombreUsuario; rend.Hora = p.Hora; rend.CodigoBarra = p.CodigoBarra; rend.GrupoTerminal = p.GrupoTerminal; rend.NroRendicion = p.NroRendicion; rend.FechaMovimiento = p.FechaMovimiento; db.RendicionesBSE.Add(rend); if (p.DetallePago != null) { var pago = p.DetallePago; pago.Fecha = rend.FechaPago; pago.IdMedioPago = 2; //BSE pago.IdArchivo = ca.Id; pago.Descripcion = "Importado desde " + ca.NombreArchivo; PagosRepository.PagarCuota(db, pago); } } db.SaveChanges(); trx.Commit(); } catch (Exception) { trx.Rollback(); throw; } } }
internal static void InsertarMatricula(SMPorresEntities db, Curso curso, int idPlanPago) { //carga cuota matricula var pm = new Pago(); pm.Id = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1; pm.IdPlanPago = idPlanPago; pm.NroCuota = 0; pm.ImporteCuota = curso.ImporteMatricula; pm.Estado = (byte)EstadoPago.Impago; pm.FechaVto = DateTime.Now.AddDays(1).Date; db.Pagos.Add(pm); db.SaveChanges(); }