public ActionResult CreateInfonavit(Empleado_Infonavit model) { Infonavit inf = new Infonavit(); var id = inf.Create(model); return(Json(id, JsonRequestBehavior.AllowGet)); }
public int Create(Empleado_Infonavit model, int idUser) { if (model.TipoCredito == 4) { model.UsarUMA = true; model.TipoCredito = 4; } else { model.UsarUMA = false; } model.Status = true; model.FechaReg = DateTime.Now; model.IdUsuarioReg = idUser; using (var context = new RHEntities()) { context.Empleado_Infonavit.Add(model); var status = context.SaveChanges(); if (status > 0) { Notificaciones.INFONAVIT(model, "Nuevo Crédito"); return(model.Id); } return(0); } }
public ActionResult CreateInfonavit(Empleado_Infonavit model) { Infonavit inf = new Infonavit(); int idUsuario = SessionHelpers.GetIdUsuario(); var id = inf.Create(model, idUsuario); return(Json(id, JsonRequestBehavior.AllowGet)); }
public static void INFONAVIT(Empleado_Infonavit model, string movimiento) { Empleados emp = new Empleados(); var contrato = emp.GetContratoByIdEmpleadoContrato(model.IdEmpleadoContrato); var cd = GetDatosPersonales(contrato.IdEmpleado); cd.No_Credito = model.NumCredito; cd.Fecha_Inicio = model.FechaInicio.ToString("dd/MM/yyyy"); cd.Factor_de_Descuento = model.FactorDescuento; cd.Tipo_Credito = Utils.GetNameOfEnum(typeof(TipoCreditoInfonavit), model.TipoCredito); cd.Tipo_de_Movimiento = movimiento; string titulo = GetTitulo(cd); NotificacionesCommon.CreateNotification(titulo, DateTime.Now, SessionHelpers.GetIdUsuario(), TiposNotificacion.INFONAVIT, cd.IdCliente, cd, cd.IdSucursal, contrato.IdContrato, model.FechaInicio.ToString("dd-MM-yyyy")); }
public ActionResult UpdateInfonavit(CalculoInfonavit model) { Empleado_Infonavit infonavit = new Empleado_Infonavit(); infonavit.Id = model.IdInfonavit; infonavit.IdEmpleadoContrato = model.IdEmpleadoContrato; infonavit.NumCredito = model.NumCredito; infonavit.TipoCredito = model.TipoCredito; infonavit.FactorDescuento = model.FactorDescuento; infonavit.Salario = model.Salario; infonavit.FechaInicio = model.FechaInicio; infonavit.FechaSuspension = model.FechaSuspension; infonavit.Status = model.Status; Infonavit inf = new Infonavit(); var response = inf.Update(infonavit); return(Json(response, JsonRequestBehavior.AllowGet)); }
public int Create(Empleado_Infonavit model) { if (model.TipoCredito == 4) { model.UsarUMA = true; model.TipoCredito = 4; } else { model.UsarUMA = false; } model.Status = true; ctx.Empleado_Infonavit.Add(model); var status = ctx.SaveChanges(); if (status > 0) { Notificaciones.INFONAVIT(model, "Nuevo Crédito"); return(model.Id); } return(0); }
public int Update(Empleado_Infonavit newModel, int idUser) { using (var context = new RHEntities()) { var title = "Actualización de Crédito"; if (newModel.FechaSuspension != null) { newModel.Status = false; title = "Suspensión de Crédito"; } var old = context.Empleado_Infonavit.FirstOrDefault(x => x.Id == newModel.Id); if (old == null) { return(0); } old.NumCredito = newModel.NumCredito; old.TipoCredito = newModel.TipoCredito; old.FactorDescuento = newModel.FactorDescuento; //old.Salario = newModel.Salario; old.FechaInicio = newModel.FechaInicio; old.FechaSuspension = newModel.FechaSuspension; old.UsarUMA = newModel.TipoCredito == 4;//VSM UMA old.Status = newModel.Status; old.FechaMod = DateTime.Now; old.IdUsuarioMod = idUser; var status = context.SaveChanges(); if (status > 0) { Notificaciones.INFONAVIT(newModel, title); return(newModel.Id); } return(0); } }
public CalculoInfonavit calcularInfonavit(Empleado_Infonavit infonavit) { //Obtener el contrato relacionado al credito Empleado_Contrato itemContrato = new Empleado_Contrato(); using (var context = new RHEntities()) { itemContrato = context.Empleado_Contrato.FirstOrDefault(x => x.IdContrato == infonavit.IdEmpleadoContrato); } CalculoInfonavit calculo = new CalculoInfonavit(); calculo.FechaInicio = infonavit.FechaInicio; calculo.IdEmpleadoContrato = infonavit.IdEmpleadoContrato; calculo.IdInfonavit = infonavit.Id; calculo.NumCredito = infonavit.NumCredito; calculo.Salario = infonavit.Salario; if (itemContrato != null) {//si el contrato tiene nuevo sdi, tomará el valor de ese nuevo sdi calculo.Salario = itemContrato.SDI; } calculo.FactorDescuento = infonavit.FactorDescuento; calculo.FechaSuspension = infonavit.FechaSuspension; calculo.Status = infonavit.Status; calculo.TipoCredito = infonavit.TipoCredito; if (calculo.FechaInicio < DateTime.Today) { calculo.FechaAplicada = DateTime.Today; } else { calculo.FechaAplicada = calculo.FechaInicio; } var numBimestre = Utils.GetBimestre(calculo.FechaAplicada.Value.Month); calculo.DiasBimestre = Utils.GetDiasDelBimestre(calculo.FechaAplicada.Value.Year, numBimestre); decimal salarioCalculo = 0; var zonaSalario = GetZonaSalario(); switch (infonavit.TipoCredito) { case 1: //Cuota Fijam calculo.DescuentoBimestral = calcularCuotaFija(calculo.FactorDescuento); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; case 2: // Porcentaje//tomar el sdi del contrato calculo.DescuentoDiario = calcularPorcentaje(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoBimestral = (calculo.DescuentoDiario * calculo.DiasBimestre) + 15; calculo.TipoCredito = infonavit.TipoCredito; break; case 3: //VSM if (infonavit.UsarUMA) { salarioCalculo = zonaSalario.UMA; } else { salarioCalculo = zonaSalario.SMG; } //calculo.Salario = sm != calculo.Salario ? sm : calculo.Salario; calculo.Salario = salarioCalculo != calculo.Salario ? salarioCalculo : calculo.Salario; calculo.DescuentoBimestral = calcularVSM(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; case 4: //VSM if (infonavit.UsarUMA) { salarioCalculo = zonaSalario.UMA; } else { salarioCalculo = zonaSalario.SMG; } //calculo.Salario = sm != calculo.Salario ? sm : calculo.Salario; calculo.Salario = salarioCalculo != calculo.Salario ? salarioCalculo : calculo.Salario; calculo.DescuentoBimestral = calcularVSM(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; default: break; } var iniBim = new DateTime(calculo.FechaAplicada.Value.Year, (numBimestre * 2) - 1, 1); var finBim = new DateTime(calculo.FechaAplicada.Value.Year, (numBimestre * 2), 1); calculo.BimestreAplicado = iniBim.ToString("MMMM") + " - " + finBim.ToString("MMMM"); calculo.DescuentoBimestral = calculo.DescuentoBimestral; //Math.Round(calculo.DescuentoBimestral, 2); calculo.DescuentoDiario = calculo.DescuentoDiario; //Math.Round(calculo.DescuentoDiario, 2); return(calculo); }
public CalculoInfonavit calcularInfonavit(Empleado_Infonavit infonavit) { CalculoInfonavit calculo = new CalculoInfonavit(); calculo.FechaInicio = infonavit.FechaInicio; calculo.IdEmpleadoContrato = infonavit.IdEmpleadoContrato; calculo.IdInfonavit = infonavit.Id; calculo.NumCredito = infonavit.NumCredito; calculo.Salario = infonavit.Salario; calculo.FactorDescuento = infonavit.FactorDescuento; calculo.FechaSuspension = infonavit.FechaSuspension; calculo.Status = infonavit.Status; calculo.TipoCredito = infonavit.TipoCredito; if (calculo.FechaInicio < DateTime.Today) { calculo.FechaAplicada = DateTime.Today; } else { calculo.FechaAplicada = calculo.FechaInicio; } var numBimestre = Utils.GetBimestre(calculo.FechaAplicada.Value.Month); calculo.DiasBimestre = Utils.GetDiasDelBimestre(calculo.FechaAplicada.Value.Year, numBimestre); decimal salarioCalculo = 0; var zonaSalario = GetZonaSalario(); switch (infonavit.TipoCredito) { case 1: //Cuota Fija calculo.DescuentoBimestral = calcularCuotaFija(calculo.FactorDescuento); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; case 2: // Porcentaje calculo.DescuentoDiario = calcularPorcentaje(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoBimestral = (calculo.DescuentoDiario * calculo.DiasBimestre) + 15; calculo.TipoCredito = infonavit.TipoCredito; break; case 3: //VSM if (infonavit.UsarUMA) { salarioCalculo = zonaSalario.UMA; } else { salarioCalculo = zonaSalario.SMG; } //calculo.Salario = sm != calculo.Salario ? sm : calculo.Salario; calculo.Salario = salarioCalculo != calculo.Salario ? salarioCalculo : calculo.Salario; calculo.DescuentoBimestral = calcularVSM(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; case 4: //VSM if (infonavit.UsarUMA) { salarioCalculo = zonaSalario.UMA; } else { salarioCalculo = zonaSalario.SMG; } //calculo.Salario = sm != calculo.Salario ? sm : calculo.Salario; calculo.Salario = salarioCalculo != calculo.Salario ? salarioCalculo : calculo.Salario; calculo.DescuentoBimestral = calcularVSM(calculo.FactorDescuento, calculo.Salario.Value); calculo.DescuentoDiario = calculo.DescuentoBimestral / calculo.DiasBimestre; calculo.TipoCredito = infonavit.TipoCredito; break; default: break; } var iniBim = new DateTime(calculo.FechaAplicada.Value.Year, (numBimestre * 2) - 1, 1); var finBim = new DateTime(calculo.FechaAplicada.Value.Year, (numBimestre * 2), 1); calculo.BimestreAplicado = iniBim.ToString("MMMM") + " - " + finBim.ToString("MMMM"); calculo.DescuentoBimestral = calculo.DescuentoBimestral; //Math.Round(calculo.DescuentoBimestral, 2); calculo.DescuentoDiario = calculo.DescuentoDiario; //Math.Round(calculo.DescuentoDiario, 2); return(calculo); }