Example #1
0
        public void Fill(CargarDatosContext datacontext, Int32 EdificioId, Int32?UnidadTiempoId)
        {
            baseFill(datacontext);
            this.EdificioId     = EdificioId;
            this.UnidadTiempoId = UnidadTiempoId;

            LstTrabajadores = datacontext.context.Trabajador.Where(x => x.EdificioId == EdificioId && x.Estado == ConstantHelpers.EstadoActivo).ToList();

            var lstunidadtiempo = datacontext.context.UnidadTiempo.OrderByDescending(x => x.Anio).OrderByDescending(x => x.Mes).Where(x => x.Estado == ConstantHelpers.EstadoActivo);

            foreach (var item in lstunidadtiempo)
            {
                LstComboUnidadTiempo.Add(new SelectListItem {
                    Value = item.UnidadTiempoId.ToString(), Text = item.Descripcion.ToUpper()
                });
            }

            Edificio = datacontext.context.Edificio.Find(EdificioId);

            foreach (var item in LstTrabajadores)
            {
                PlanillaQuincena p = datacontext.context.PlanillaQuincena.Where(x => x.TrabajadorId == item.TrabajadorId && x.UnidadTiempoId == UnidadTiempoId).FirstOrDefault();
                LstPlanilla.Add(p);
            }
        }
Example #2
0
        public ActionResult EditPlanillaQuincena(EditPlanillaQuincenaViewModel model, FormCollection formCollection)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    model.Fill(CargarDatosContext(), model.EdificioId, model.UnidadTiempoId);
                    TryUpdateModel(model);
                    PostMessage(MessageType.Error, i18n.ValidationStrings.DatosIncorrectos);
                    return(View(model));
                }
                using (TransactionScope transaction = new TransactionScope())
                {
                    var LstTrabajadores = context.Trabajador.Where(x => x.EdificioId == model.EdificioId && x.Estado == ConstantHelpers.EstadoActivo).ToList();

                    foreach (var trabajador in LstTrabajadores)
                    {
                        DetalleQuincena detalle = context.DetalleQuincena.Find(trabajador.DetalleQuincenaId);

                        var movilidad    = formCollection["planilla-bonus-movilidad-" + trabajador.TrabajadorId];
                        var bonificacion = formCollection["planilla-bonificacion-" + trabajador.TrabajadorId];
                        var quincena     = formCollection["planilla-total-quincena-" + trabajador.TrabajadorId];
                        var seguro       = formCollection["planilla-seguro-" + trabajador.TrabajadorId];

                        bool             esNuevo  = false;
                        PlanillaQuincena planilla = context.PlanillaQuincena.Where(x => x.TrabajadorId == trabajador.TrabajadorId && x.UnidadTiempoId == model.UnidadTiempoId).FirstOrDefault();
                        if (planilla == null)
                        {
                            planilla = new PlanillaQuincena();
                            esNuevo  = true;
                        }
                        planilla.TrabajadorId   = trabajador.TrabajadorId;
                        planilla.UnidadTiempoId = model.UnidadTiempoId.Value;
                        if (detalle.BonoPorMovilidad)
                        {
                            planilla.BonoPorMovilidad = movilidad.ToDecimal();
                        }
                        if (detalle.Bonificacion)
                        {
                            planilla.Bonificacion = bonificacion.ToDecimal();
                        }
                        planilla.TotalQuincena = quincena.ToDecimal();
                        if (detalle.Seguro)
                        {
                            planilla.Seguro = seguro.ToDecimal();
                        }

                        if (esNuevo)
                        {
                            context.PlanillaQuincena.Add(planilla);
                        }
                    }
                    PostMessage(MessageType.Success, "Guardado Correctamente");
                    context.SaveChanges();
                    transaction.Complete();
                    return(RedirectToAction("LstEdificio", "Building"));
                }
            }
            catch (Exception ex)
            {
                model.Fill(CargarDatosContext(), model.EdificioId, model.UnidadTiempoId);
                TryUpdateModel(model);
                PostMessage(MessageType.Error, "Ocurrió un error, por favor inténtelo más tarde");
                return(View(model));
            }
            return(View());
        }