public ActionResult Login(Acceso user) { using (GestionEmpleadosDBEntities db = new GestionEmpleadosDBEntities()) { var userDetail = db.Acceso.Where(x => x.Login == user.Login && x.Pass == user.Pass).FirstOrDefault(); if (userDetail == null) { user.LoginErrorMessage = "Usuario o Contraseña Incorrecta"; user.Estado = 0; db.SaveChanges(); return View("Index", user); } else { userDetail.Fecha_Ultima_Conexion = DateTime.Now; userDetail.Estado = 1; Session["userID"] = user.Id; Session["userName"] = user.Login; db.SaveChanges(); return RedirectToAction("Index", "Empleado"); } } }
public void CalculoHaberes(PerfilViewModel model, int rut) { GestionEmpleadosDBEntities db = new GestionEmpleadosDBEntities(); var Empleado = (from d in db.Empleado where d.rut == rut select d).FirstOrDefault(); var haberes = (from hab in db.Haberes join emp in db.Empleado on hab.rut_empleado equals emp.rut where emp.rut == rut select hab).FirstOrDefault(); var cargaFam = (from d in db.Empleado join c in db.Asignacion_familiar on d.asignacion_id equals c.Id where d.rut == rut select c).FirstOrDefault(); Empleado.sueldo_base = Convert.ToDouble(model.sueldo_basevm); db.Entry(haberes).State = System.Data.Entity.EntityState.Modified; db.Entry(Empleado).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); }
public ActionResult Perfil(PerfilViewModel model, int rut) { try { if (ModelState.IsValid) { GestionEmpleadosDBEntities db = new GestionEmpleadosDBEntities(); var empleado = (from emp in db.Empleado join af in db.Afp on emp.afp_id equals af.Id where emp.rut == rut select emp).FirstOrDefault(); //-------------------------------------------// var afp = (from emp in db.Empleado join af in db.Afp on emp.afp_id equals af.Id where emp.rut == rut select af).FirstOrDefault(); //-------------------------------------------// var haberes = (from hab in db.Haberes join emp in db.Empleado on hab.rut_empleado equals emp.rut where emp.rut == rut select hab).FirstOrDefault(); //-------------------------------------------// var descuento = (from des in db.Descuento join emp in db.Empleado on des.rut_empleado equals emp.rut where emp.rut == rut select des).FirstOrDefault(); //-------------------------------------------// var otros = (from emp in db.Empleado join otr in db.Otros_Descuentos on emp.desc_id equals otr.id where emp.rut == rut select otr).FirstOrDefault(); //-------------------------------------------// var cargaFam = (from emp in db.Empleado join fam in db.Asignacion_familiar on emp.asignacion_id equals fam.Id where emp.rut == rut select fam).FirstOrDefault(); //-------------------------------------------// var salud = (from emp in db.Empleado join sal in db.Salud on emp.salud_id equals sal.Id where emp.rut == rut select sal).FirstOrDefault(); //-------------------------------------------// var beneficio = (from emp in db.Empleado join ben in db.Beneficio_Antiguedad on emp.antiguedad_id equals ben.Id where emp.rut == rut select ben).FirstOrDefault(); //-------------------------------------------// empleado.sueldo_base = Convert.ToDouble(model.sueldo_basevm); if (empleado.sueldo_base == null) { empleado.sueldo_base = 0; } else if (haberes.sueldo_base != empleado.sueldo_base || haberes.Empleado == null) { haberes.sueldo_base = empleado.sueldo_base; } if (haberes.sueldo_base <= 315841) { empleado.asignacion_id = 1; haberes.monto_familiar = empleado.numero_cargas * cargaFam.valor; model.monto_familiarvm = empleado.numero_cargas * cargaFam.valor; } else if (haberes.sueldo_base <= 461320) { empleado.asignacion_id = 2; haberes.monto_familiar = empleado.numero_cargas * cargaFam.valor; model.monto_familiarvm = empleado.numero_cargas * cargaFam.valor; } else if (haberes.sueldo_base <= 719502) { empleado.asignacion_id = 3; haberes.monto_familiar = empleado.numero_cargas * cargaFam.valor; model.monto_familiarvm = empleado.numero_cargas * cargaFam.valor; } else { empleado.asignacion_id = 4; haberes.monto_familiar = 0; model.monto_familiarvm = 0; } if (empleado.asignacion_id == 1) { haberes.monto_familiar = empleado.numero_cargas * 12364; model.monto_familiarvm = empleado.numero_cargas * 12364; } else if (empleado.asignacion_id == 2) { haberes.monto_familiar = empleado.numero_cargas * 7587; model.monto_familiarvm = empleado.numero_cargas * 7587; } else if (empleado.asignacion_id == 3) { haberes.monto_familiar = empleado.numero_cargas * 2398; model.monto_familiarvm = empleado.numero_cargas * 2398; } else { haberes.monto_familiar = 0; model.monto_familiarvm = 0; } DateTime annos = Convert.ToDateTime(empleado.fecha_contrato); int trabajados = DateTime.Today.AddTicks(-annos.Ticks).Year - 1; if (trabajados == 0) { empleado.antiguedad_id = 10; } else if (trabajados <= 2) { empleado.antiguedad_id = 20; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 4) { empleado.antiguedad_id = 30; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 6) { empleado.antiguedad_id = 40; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 8) { empleado.antiguedad_id = 50; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 10) { empleado.antiguedad_id = 60; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 12) { empleado.antiguedad_id = 70; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 14) { empleado.antiguedad_id = 80; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 16) { empleado.antiguedad_id = 90; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 18) { empleado.antiguedad_id = 100; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else if (trabajados <= 20) { empleado.antiguedad_id = 110; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } else { empleado.antiguedad_id = 110; model.bonovm = (beneficio.porcentaje_antiguedad * haberes.sueldo_base) / 100; } haberes.bono = model.bonovm; if (model.hora_extravm == 0 || model.hora_extravm == null) { haberes.hora_extra = 0; } else { model.calculoHoraExtra = (Convert.ToDouble(model.sueldo_basevm) * 0.0077777) * model.hora_extravm; haberes.hora_extra = model.calculoHoraExtra; } haberes.colacion = model.colacionvm; haberes.movilizacion = model.movilizacionvm; haberes.comision = model.comisionvm; haberes.total_haberes = haberes.sueldo_base + haberes.colacion + haberes.movilizacion + haberes.comision + haberes.hora_extra + haberes.monto_familiar + haberes.bono; //-------------------------------------------// empleado.afp_id = model.AfpId; if (empleado.afp_id == 1) { model.ComisionAFP = 0.1144; } else if (empleado.afp_id == 2) { model.ComisionAFP = 0.1144; } else if (empleado.afp_id == 3) { model.ComisionAFP = 0.1127; } else if (empleado.afp_id == 4) { model.ComisionAFP = 0.1077; } else if (empleado.afp_id == 5) { model.ComisionAFP = 0.1116; } else if (empleado.afp_id == 6) { model.ComisionAFP = 0.1145; } else if (empleado.afp_id == 1002) { model.ComisionAFP = 0; } else { model.ComisionAFP = 0; } descuento.descuento_afp = model.ComisionAFP * Convert.ToDouble(model.sueldo_basevm); //-------------------------------------------// empleado.salud_id = model.SaludId; if (empleado.salud_id == 1) { descuento.descuento_salud = Convert.ToDouble(model.sueldo_basevm) * 0.07; } else if (empleado.salud_id == 2) { descuento.descuento_salud = model.descuento_saludvm; } else if (empleado.salud_id == 1002) { model.ComisionSalud = 0; descuento.descuento_salud = model.ComisionSalud; } if (empleado.desc_id == 10) { descuento.seguro_cesantia = Convert.ToDouble(model.sueldo_basevm) * 0.006; descuento.seguro_vida = 15000; } else if (empleado.desc_id == 20) { descuento.seguro_cesantia = Convert.ToDouble(model.sueldo_basevm) * 0.006; descuento.seguro_vida = 30000; } else { descuento.seguro_cesantia = 0; descuento.seguro_vida = 0; } //-------------------------------------------// db.Entry(descuento).State = System.Data.Entity.EntityState.Modified; db.Entry(haberes).State = System.Data.Entity.EntityState.Modified; db.Entry(empleado).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Perfil", "Empleado", new { rut })); } return(RedirectToAction("Index", "Empleado")); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void IA(PerfilViewModel model, int rut) { GestionEmpleadosDBEntities db = new GestionEmpleadosDBEntities(); var HaberesQ = (from hab in db.Haberes join emp in db.Empleado on hab.rut_empleado equals emp.rut where emp.rut == rut select hab).FirstOrDefault(); //-------------------------------------------// var DescuentoQ = (from des in db.Descuento join emp in db.Empleado on des.rut_empleado equals emp.rut where emp.rut == rut select des).FirstOrDefault(); //-------------------------------------------// var Haberes = new Haberes(); var Descuento = new Descuento(); var empleadoG = db.Empleado.Find(rut); //-------------------------------------------// model.SaludId = 1002; model.AntiguedadId = 10; model.AsignacionId = 5; model.AfpId = 1002; model.DescuentoId = 30; //-------------------------------------------// if (HaberesQ == null || DescuentoQ == null) { Haberes.rut_empleado = rut; Descuento.rut_empleado = rut; Haberes.hora_extra = 0; Haberes.monto_familiar = 0; Haberes.sueldo_base = 0; Haberes.total_haberes = 0; Haberes.colacion = 0; Haberes.comision = 0; Haberes.movilizacion = 0; Haberes.bono = 0; Descuento.descuento_afp = 0; Descuento.descuento_salud = 0; Descuento.seguro_cesantia = 0; Descuento.seguro_vida = 0; Descuento.total_descuentos = 0; db.Haberes.Add(Haberes); db.Descuento.Add(Descuento); db.SaveChanges(); } /* else if (empleadoG.salud_id == null || empleadoG.desc_id == null || empleadoG.afp_id == null || empleadoG.asignacion_id == null || empleadoG.antiguedad_id == null) * { * * empleadoG.salud_id = model.SaludId; * empleadoG.antiguedad_id = model.AntiguedadId; * empleadoG.asignacion_id = model.AsignacionId; * empleadoG.afp_id = model.AfpId; * empleadoG.desc_id = model.DescuentoId; * //-------------------------------------------// * db.Entry(empleadoG).State = System.Data.Entity.EntityState.Modified; * db.SaveChanges(); * //-------------------------------------------// * } */ }
public ActionResult New(EmpleadoViewModel model, int rut) { try { if (ModelState.IsValid) { GestionEmpleadosDBEntities db = new GestionEmpleadosDBEntities(); var HaberesQ = (from hab in db.Haberes join emp in db.Empleado on hab.rut_empleado equals emp.rut where emp.rut == rut select hab).FirstOrDefault(); //-------------------------------------------// var DescuentoQ = (from des in db.Descuento join emp in db.Empleado on des.rut_empleado equals emp.rut where emp.rut == rut select des).FirstOrDefault(); var Haberes = new Haberes(); var Descuento = new Descuento(); var oTabla = new Empleado(); oTabla.rut = model.rut; oTabla.dv = model.dv; oTabla.nombre = model.nombre; oTabla.apaterno = model.apaterno; oTabla.amaterno = model.amaterno; oTabla.direccion = model.direccion; oTabla.email = model.email; oTabla.genero = model.genero; oTabla.fecha_nacimiento = model.fecha_nacimiento; oTabla.annos_experiencia = model.annos_experiencia; oTabla.fecha_contrato = model.fecha_contrato; oTabla.telefono = model.telefono; oTabla.nombre_profesion = model.nombre_profesion; oTabla.afp_id = model.afp_id; oTabla.salud_id = model.salud_id; if (model.numero_cargas == null) { model.numero_cargas = 0; oTabla.numero_cargas = 0; } else { oTabla.numero_cargas = model.numero_cargas; } if (model.sueldo_base <= 315841) { oTabla.asignacion_id = 1; } else if (model.sueldo_base <= 461320) { oTabla.asignacion_id = 2; } else if (model.sueldo_base <= 719502) { oTabla.asignacion_id = 3; } else { oTabla.asignacion_id = 4; } oTabla.sueldo_base = model.sueldo_base; oTabla.desc_id = model.desc_id; DateTime annos = Convert.ToDateTime(model.fecha_contrato); int trabajados = DateTime.Today.AddTicks(-annos.Ticks).Year - 1; if (trabajados == 0) { model.antiguedad_id = 10; } else if (trabajados <= 2) { model.antiguedad_id = 20; } else if (trabajados <= 4) { model.antiguedad_id = 30; } else if (trabajados <= 6) { model.antiguedad_id = 40; } else if (trabajados <= 8) { model.antiguedad_id = 50; } else if (trabajados <= 10) { model.antiguedad_id = 60; } else if (trabajados <= 12) { model.antiguedad_id = 70; } else if (trabajados <= 14) { model.antiguedad_id = 80; } else if (trabajados <= 16) { model.antiguedad_id = 90; } else if (trabajados <= 18) { model.antiguedad_id = 100; } else if (trabajados <= 20) { model.antiguedad_id = 110; } else { model.antiguedad_id = 110; } oTabla.antiguedad_id = model.antiguedad_id; Haberes.rut_empleado = model.rut; Descuento.rut_empleado = model.rut; db.Empleado.Add(oTabla); db.Haberes.Add(Haberes); db.Descuento.Add(Descuento); db.SaveChanges(); return(Redirect("~/Empleado/")); } return(Redirect("~/Empleado/")); } catch (Exception ex) { throw new Exception(ex.Message); } }