public JsonResult AnularMarcaciones(int IdEmpresa, int IdAjuste, int IdNomina_Tipo, int IdNomina_TipoLiqui, DateTime?FechaInicio, DateTime?FechaFin, DateTime?FechaNovedades, string Observacion = "" , string Ids = "", decimal IdTransaccionSession = 0) { ro_SancionesPorMarcaciones_Info model = new ro_SancionesPorMarcaciones_Info(); if (Ids != null) { var lst = ro_SancionesPorMarcaciones_det_Info_list.get_list(IdTransaccionSession); string[] array = Ids.Split(','); var output = array.GroupBy(q => q).ToList(); foreach (var item in output) { if (!string.IsNullOrEmpty(item.Key)) { var info_add = lst.Where(q => q.Secuencia.ToString() == item.Key).FirstOrDefault(); lst_grabar.Add(info_add); } } model.detalle = new List <ro_SancionesPorMarcaciones_det_Info>(); model.detalle = lst_grabar; model.IdEmpresa = IdEmpresa; model.IdAjuste = IdAjuste; model.IdNomina_Tipo = IdNomina_Tipo; model.IdNomina_TipoLiqui = IdNomina_TipoLiqui; model.FechaFin = Convert.ToDateTime(FechaFin); model.FechaInicio = Convert.ToDateTime(FechaInicio); model.FechaNovedades = Convert.ToDateTime(FechaNovedades); model.Observacion = Observacion; model.IdUsuario = SessionFixed.IdUsuario; bus_sanciones.anularDB(model); } return(Json("", JsonRequestBehavior.AllowGet)); }
public ro_SancionesPorMarcaciones_Info get_info(int IdEmpresa, int IdAjuste) { try { using (Entities_rrhh Context = new Entities_rrhh()) { ro_SancionesPorMarcaciones entity = Context.ro_SancionesPorMarcaciones.Where(v => v.IdEmpresa == IdEmpresa && v.IdAjuste == IdAjuste).FirstOrDefault(); if (entity == null) { return(new ro_SancionesPorMarcaciones_Info()); } ro_SancionesPorMarcaciones_Info info = new ro_SancionesPorMarcaciones_Info { IdEmpresa = entity.IdEmpresa, IdAjuste = entity.IdEmpresa, IdNomina_Tipo = entity.IdNomina_Tipo, IdNomina_TipoLiqui = entity.IdNomina_TipoLiqui, FechaInicio = entity.FechaInicio, FechaFin = entity.FechaFin, Observacion = entity.Observacion, FechaNovedades = entity.FechaNovedades }; return(info); } } catch (Exception) { throw; } }
public ActionResult Nuevo(ro_SancionesPorMarcaciones_Info model) { var parametros = bus_parametro.get_info(model.IdEmpresa); if (parametros == null) { parametros = new ro_Parametros_Info(); } model.detalle = ro_SancionesPorMarcaciones_det_Info_list.get_list(model.IdTransaccionSession); model.IdUsuario = SessionFixed.IdUsuario; if (model.detalle == null || model.detalle.Count() == 0) { ViewBag.mensaje = "No existe detalle de marcaciones"; cargar_combos(model.IdNomina_Tipo); return(View(model)); } model.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); //model.IdUsuario = SessionFixed.IdUsuario; if (!bus_sanciones.guardarDB(model)) { cargar_combos(model.IdNomina_Tipo); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult GridViewPartial_control_marcaciones_det() { SessionFixed.IdTransaccionSessionActual = Request.Params["TransaccionFixed"] != null ? Request.Params["TransaccionFixed"].ToString() : SessionFixed.IdTransaccionSessionActual; ro_SancionesPorMarcaciones_Info model = new ro_SancionesPorMarcaciones_Info(); model.detalle = ro_SancionesPorMarcaciones_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); return(PartialView("_GridViewPartial_control_marcaciones_det", model)); }
public ActionResult EditingDelete([ModelBinder(typeof(DevExpressEditorsBinder))] ro_SancionesPorMarcaciones_det_Info info_det) { ro_SancionesPorMarcaciones_det_Info_list.DeleteRow(Convert.ToInt32(info_det.Secuencia), Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); ro_SancionesPorMarcaciones_Info model = new ro_SancionesPorMarcaciones_Info(); model.detalle = ro_SancionesPorMarcaciones_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); return(PartialView("_GridViewPartial_control_marcaciones_det", model)); }
public bool anularDB(ro_SancionesPorMarcaciones_Info info) { try { return(odata.anularDB(info)); } catch (Exception) { throw; } }
public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] ro_SancionesPorMarcaciones_det_Info info_det) { if (ModelState.IsValid) { ro_SancionesPorMarcaciones_det_Info_list.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } ro_SancionesPorMarcaciones_Info model = new ro_SancionesPorMarcaciones_Info(); model.detalle = ro_SancionesPorMarcaciones_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); return(PartialView("_GridViewPartial_control_marcaciones_det", model)); }
public ActionResult Anular(ro_SancionesPorMarcaciones_Info model) { model.detalle = ro_SancionesPorMarcaciones_det_Info_list.get_list(model.IdTransaccionSession); model.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); model.IdUsuarioUltAnu = SessionFixed.IdUsuario; model.Fecha_UltAnu = DateTime.Now; if (!bus_sanciones.anularDB(model)) { cargar_combos(model.IdNomina_Tipo); return(View(model)); } return(RedirectToAction("Index")); }
public bool anularDB(ro_SancionesPorMarcaciones_Info info) { try { ro_SancionesPorMarcaciones_x_novedad_Data odata_novedad_x_sanciones = new ro_SancionesPorMarcaciones_x_novedad_Data(); var lista_novedades_a_eliminar = odata_novedad_x_sanciones.get_list(info.IdEmpresa, info.IdAjuste).ToList(); using (Entities_rrhh Context = new Entities_rrhh()) { #region anulando cabecera ro_SancionesPorMarcaciones entity = Context.ro_SancionesPorMarcaciones.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste).FirstOrDefault(); if (entity == null) { return(false); } entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu; entity.Fecha_UltAnu = DateTime.Now; #endregion #region anulando novedades foreach (var item in lista_novedades_a_eliminar) { var info_novedad = Context.ro_empleado_Novedad.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdNovedad == item.IdNovedad && q.IdEmpleado == item.IdEmpleado).FirstOrDefault(); if (info_novedad != null) { info_novedad.IdUsuarioUltAnu = info.IdUsuarioUltAnu; info.Fecha_UltAnu = DateTime.Now; info_novedad.Estado = "I"; Context.SaveChanges(); } } #endregion Context.SaveChanges(); } return(true); } catch (Exception ex) { throw; } }
public ActionResult Modificar(ro_SancionesPorMarcaciones_Info model) { model.detalle = ro_SancionesPorMarcaciones_det_Info_list.get_list(model.IdTransaccionSession); if (model.detalle == null || model.detalle.Count() == 0) { ViewBag.mensaje = "No existe detalle de marcaciones"; cargar_combos(model.IdNomina_Tipo); return(View(model)); } model.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); model.IdUsuarioUltMod = SessionFixed.IdUsuario; if (!bus_sanciones.modificarDB(model)) { cargar_combos(model.IdNomina_Tipo); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Anular(int IdEmpresa = 0, int IdTransaccion = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion ro_SancionesPorMarcaciones_Info model = bus_sanciones.get_info(IdEmpresa, IdTransaccion); model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); if (model == null) { return(RedirectToAction("Index")); } model.detalle = bus_sanciones_det.get_list(IdEmpresa, IdTransaccion); ro_SancionesPorMarcaciones_det_Info_list.set_list(model.detalle, Convert.ToDecimal(SessionFixed.IdTransaccionSession)); cargar_combos(model.IdNomina_Tipo); return(View(model)); }
public ActionResult Nuevo() { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion ro_SancionesPorMarcaciones_Info model = new ro_SancionesPorMarcaciones_Info { IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa), FechaInicio = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1), FechaFin = DateTime.Now.AddMonths(1).AddDays(-1), FechaNovedades = DateTime.Now, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession), }; ro_SancionesPorMarcaciones_det_Info_list.set_list(model.detalle, Convert.ToDecimal(SessionFixed.IdTransaccionSession)); cargar_combos(0); return(View(model)); }
public bool guardarDB(ro_SancionesPorMarcaciones_Info info) { try { ro_empleado_novedad_Data odata_novedad = new ro_empleado_novedad_Data(); decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); int secuancia = 1; using (Entities_rrhh Context = new Entities_rrhh()) { ro_SancionesPorMarcaciones entity = new ro_SancionesPorMarcaciones { IdEmpresa = info.IdEmpresa, IdAjuste = info.IdAjuste = get_id(info.IdEmpresa), IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, FechaInicio = info.FechaInicio, FechaFin = info.FechaFin, Observacion = info.Observacion, Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario, Estado = true, FechaNovedades = info.FechaNovedades }; Context.ro_SancionesPorMarcaciones.Add(entity); foreach (var item in info.detalle) { ro_SancionesPorMarcaciones_det entity_det = new ro_SancionesPorMarcaciones_det { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdAjuste = info.IdAjuste, IdCalendario = item.IdCalendario, IdEmpleado = item.IdEmpleado, EsHoraIngreso = item.HoraIni, HoraIngreso = item.time_entrada1, EsHoraSalida = item.HoraFin, HoraSalio = item.time_salida1, Minutos = item.Minutos, FechaRegistro = item.es_fechaRegistro, Secuencia = secuancia }; Context.ro_SancionesPorMarcaciones_det.Add(entity_det); secuancia++; } // agrupnado para obter valor para novedad secuancia = 1; var lista_novedades = (from q in info.detalle group q by new { q.IdEmpresa, q.IdSucursal, q.IdEmpleado, q.Minutos, q.Sueldo } into Grupo select new ro_SancionesPorMarcaciones_x_novedad_Info { IdEmpresa = Grupo.Key.IdEmpresa, IdSucursal = Grupo.Key.IdSucursal, IdEmpleado = Grupo.Key.IdEmpleado, Valor = Grupo.Sum(s => s.Minutos), Sueldo = Grupo.Key.Sueldo }).ToList(); // grabando novedades foreach (var item in lista_novedades) { ro_empleado_Novedad novedad = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdNovedad = IdNovedad, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Novedad generada por proceso del sistema fecha descuento " + info.FechaNovedades.ToString().Substring(0, 10), Fecha = info.FechaNovedades, Estado = "A", Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario }; Context.ro_empleado_Novedad.Add(novedad); ro_empleado_novedad_det novedad_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, IdRubro = "200", Valor = item.Valor * (((Convert.ToDouble(item.Sueldo)) / 240) / 60), FechaPago = info.FechaNovedades, EstadoCobro = "PEN", Observacion = "Novedad generda por proceso del sistema", Secuencia = 1, }; novedad_det.Valor = Math.Round(novedad_det.Valor, 2); Context.ro_empleado_novedad_det.Add(novedad_det); ro_SancionesPorMarcaciones_x_novedad novedad_x_sanc = new ro_SancionesPorMarcaciones_x_novedad { IdEmpresa = info.IdEmpresa, IdAjuste = info.IdAjuste, Secuencia = secuancia, IdNovedad = novedad.IdNovedad, IdEmpresa_nov = info.IdEmpresa, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui }; Context.ro_SancionesPorMarcaciones_x_novedad.Add(novedad_x_sanc); IdNovedad++; secuancia++; } Context.SaveChanges(); } return(true); } catch (Exception ex) { throw; } }
public bool modificarDB(ro_SancionesPorMarcaciones_Info info) { try { ro_SancionesPorMarcaciones_x_novedad_Data odata_novedad_x_sanciones = new ro_SancionesPorMarcaciones_x_novedad_Data(); ro_empleado_novedad_Data odata_novedad = new ro_empleado_novedad_Data(); var lista_novedades_a_eliminar = odata_novedad_x_sanciones.get_list(info.IdEmpresa, info.IdAjuste).ToList(); using (Entities_rrhh Context = new Entities_rrhh()) { #region modificando cabecera ro_SancionesPorMarcaciones entity = Context.ro_SancionesPorMarcaciones.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste).FirstOrDefault(); if (entity == null) { return(false); } entity.FechaInicio = info.FechaInicio; entity.FechaFin = info.FechaFin; entity.Observacion = info.Observacion; entity.FechaNovedades = info.FechaNovedades; entity.IdUsuarioUltMod = info.IdUsuarioUltMod; entity.Fecha_UltMod = DateTime.Now; #endregion #region eliminado detalle #region eliminando novedad por sancion var ro_sanciones_det = Context.ro_SancionesPorMarcaciones_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste); Context.ro_SancionesPorMarcaciones_det.RemoveRange(ro_sanciones_det); #endregion #endregion #region eliminando novedad por sancion var ro_novedad_x_sanciones = Context.ro_SancionesPorMarcaciones_x_novedad.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdAjuste == info.IdAjuste); Context.ro_SancionesPorMarcaciones_x_novedad.RemoveRange(ro_novedad_x_sanciones); #endregion #region eliminado_novedades foreach (var item in lista_novedades_a_eliminar) { var info_novedad_det = Context.ro_empleado_novedad_det.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdNovedad == item.IdNovedad).FirstOrDefault(); Context.ro_empleado_novedad_det.Remove(info_novedad_det); var info_novedad = Context.ro_empleado_Novedad.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdNovedad == item.IdNovedad && q.IdEmpleado == item.IdEmpleado).FirstOrDefault(); Context.ro_empleado_Novedad.Remove(info_novedad); } #endregion #region grabando novedades decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa); int secuancia = 1; foreach (var item in info.detalle) { ro_SancionesPorMarcaciones_det entity_det = new ro_SancionesPorMarcaciones_det { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdAjuste = info.IdAjuste, IdCalendario = item.IdCalendario, IdEmpleado = item.IdEmpleado, EsHoraIngreso = item.HoraIni, HoraIngreso = item.time_entrada1, EsHoraSalida = item.HoraFin, HoraSalio = item.time_salida1, Minutos = item.Minutos, FechaRegistro = item.es_fechaRegistro, Secuencia = secuancia }; Context.ro_SancionesPorMarcaciones_det.Add(entity_det); secuancia++; } // agrupnado para obter valor para novedad secuancia = 1; var lista_novedades = (from q in info.detalle group q by new { q.IdEmpresa, q.IdSucursal, q.IdEmpleado, q.Minutos, q.Sueldo } into Grupo select new ro_SancionesPorMarcaciones_x_novedad_Info { IdEmpresa = Grupo.Key.IdEmpresa, IdSucursal = Grupo.Key.IdSucursal, IdEmpleado = Grupo.Key.IdEmpleado, Valor = Grupo.Sum(s => s.Minutos), Sueldo = Grupo.Key.Sueldo }).ToList(); // grabando novedades foreach (var item in lista_novedades) { ro_empleado_Novedad novedad = new ro_empleado_Novedad { IdEmpresa = info.IdEmpresa, IdSucursal = item.IdSucursal, IdNovedad = IdNovedad, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui, Observacion = "Novedad generada por proceso del sistema fecha descuento " + info.FechaNovedades.ToString().Substring(0, 10), Fecha = info.FechaNovedades, Estado = "A", Fecha_Transac = DateTime.Now, IdUsuario = info.IdUsuario }; Context.ro_empleado_Novedad.Add(novedad); ro_empleado_novedad_det novedad_det = new ro_empleado_novedad_det { IdEmpresa = info.IdEmpresa, IdNovedad = IdNovedad, IdRubro = "200", Valor = item.Valor * (((Convert.ToDouble(item.Sueldo)) / 240) / 60), FechaPago = info.FechaNovedades, EstadoCobro = "PEN", Observacion = "Novedad generda por proceso del sistema", Secuencia = 1, }; novedad_det.Valor = Math.Round(novedad_det.Valor, 2); Context.ro_empleado_novedad_det.Add(novedad_det); ro_SancionesPorMarcaciones_x_novedad novedad_x_sanc = new ro_SancionesPorMarcaciones_x_novedad { IdEmpresa = info.IdEmpresa, IdAjuste = info.IdAjuste, Secuencia = secuancia, IdNovedad = novedad.IdNovedad, IdEmpresa_nov = info.IdEmpresa, IdEmpleado = item.IdEmpleado, IdNomina_Tipo = info.IdNomina_Tipo, IdNomina_TipoLiqui = info.IdNomina_TipoLiqui }; Context.ro_SancionesPorMarcaciones_x_novedad.Add(novedad_x_sanc); IdNovedad++; secuancia++; } #endregion Context.SaveChanges(); } return(true); } catch (Exception ex) { throw; } }