コード例 #1
0
 public ActionResult DeleteConfirmed(int Id)
 {
     try
     {
         using (var dbContext = new ConfortexEntities())
         {
             dbContext.sp_GestionarNomina(Id, "", System.DateTime.Now, System.DateTime.Now, 0, "", clsReferencias.DELETE);
         }
         return(Json(new { Message = clsReferencias.Exito }));
     }
     catch (Exception ex)
     {
         return(Json(new { Message = new clsException(ex).Message() }));
     }
 }
コード例 #2
0
 public ActionResult GenerarNomina(int IdNomina)
 {
     try
     {
         using (var dbContext = new ConfortexEntities())
         {
             dbContext.sp_GestionarNomina(IdNomina, "", System.DateTime.Now, System.DateTime.Now, clsReferencias.Generado, "", clsReferencias.Generar);
         }
         return(Json(new { Message = clsReferencias.Exito }));
     }
     catch (Exception ex)
     {
         return(Json(new { Message = new clsException(ex).Message() }));
     }
 }
コード例 #3
0
        public ActionResult Create(Nomina nomina, NominaDiaLibre[] diasLibres)
        {
            NominaDiaLibre nominadiaLibre;

            try
            {
                if (nomina.IdNomina == 0)
                {
                    IdNomina = db.Nomina.Max(w => w.IdNomina) + 1;
                }
                else
                {
                    IdNomina = nomina.IdNomina;
                }

                List <NominaDiaLibre> dias = db.NominaDiaLibre.Where(w => w.IdNomina == IdNomina).ToList();

                using (var dbContext = new ConfortexEntities())
                {
                    if (nomina.IdNomina == 0)
                    {
                        dbContext.sp_GestionarNomina(IdNomina, nomina.NombreReferencia, nomina.FechaInicio, nomina.FechaFin, clsReferencias.EnBorrador, nomina.Observaciones, clsReferencias.INSERT);
                    }
                    else
                    {
                        dbContext.sp_GestionarNomina(IdNomina, nomina.NombreReferencia, nomina.FechaInicio, nomina.FechaFin, 0, nomina.Observaciones, clsReferencias.UPDATE);
                    }
                }

                if (diasLibres != null)
                {
                    for (int i = 0; i < diasLibres.Length; i++)
                    {
                        if (diasLibres[i].FechaLibre <nomina.FechaInicio || diasLibres[i].FechaLibre> nomina.FechaFin)
                        {
                            return(Json(new { Message = "El día libre " + diasLibres[i].FechaLibre.Date.ToShortDateString() + " se encuentra fuera de los limites de pago de la Nómina, por lo tanto no puede ser agregado, debe corregir este error para continuar." }));
                        }

                        if (diasLibres[i].IdNominaDiaLibre == 0)
                        {
                            diasLibres[i].IdNomina      = IdNomina;
                            diasLibres[i].FechaCreacion = System.DateTime.Now;

                            db.NominaDiaLibre.Add(diasLibres[i]);
                        }
                        else
                        {
                            nominadiaLibre          = db.NominaDiaLibre.Find(diasLibres[i].IdNominaDiaLibre);
                            nominadiaLibre.Concepto = diasLibres[i].Concepto;

                            db.Entry(nominadiaLibre).State = EntityState.Modified;

                            dias = dias.Where(w => w.IdNominaDiaLibre != diasLibres[i].IdNominaDiaLibre).ToList();
                        }
                    }

                    db.NominaDiaLibre.RemoveRange(dias.ToArray());
                }
                else
                {
                    IEnumerable <NominaDiaLibre> diasT = db.NominaDiaLibre.Where(w => w.IdNomina == IdNomina);
                    db.NominaDiaLibre.RemoveRange(diasT);
                }
                db.SaveChanges();
                return(Json(new { Message = clsReferencias.Exito, IdNomina = IdNomina }));
            }
            catch (Exception ex)
            {
                return(Json(new { Message = new clsException(ex).Message() }));
            }
        }