Пример #1
0
 public ActionResult DeleteDetalle(int IdDetalleNomina)
 {
     try
     {
         using (var dbContext = new ConfortexEntities())
         {
             dbContext.sp_GestionarDetalleNomina(IdDetalleNomina, 0, 0, 0, 0, 0, 0, 0, 0, 0, clsReferencias.DELETE);
         }
         return(Json(new { Message = clsReferencias.Exito }));
     }
     catch (Exception ex)
     {
         return(Json(new { Message = new clsException(ex).Message() }));
     }
 }
Пример #2
0
        public ActionResult CreateDetalle(DetalleNomina detalleNomina, OtroIngresoEgreso[] otroIngreso)
        {
            try
            {
                int  IdDetalle = 0;
                bool isUpdate  = false;

                using (var dbContext = new ConfortexEntities())
                {
                    if (detalleNomina.IdDetalleNomina == 0)
                    {
                        IdDetalle = db.DetalleNomina.Max(w => w.IdDetalleNomina) + 1;
                        dbContext.sp_GestionarDetalleNomina(IdDetalle, detalleNomina.IdNomina, detalleNomina.IdEmpleado, detalleNomina.Ajuste, detalleNomina.Transporte, detalleNomina.HorasExtra, detalleNomina.Ausencia, detalleNomina.MinutosTarde, detalleNomina.Prestamo, detalleNomina.INSS, clsReferencias.INSERT);
                    }
                    else
                    {
                        IdDetalle = detalleNomina.IdDetalleNomina;
                        dbContext.sp_GestionarDetalleNomina(detalleNomina.IdDetalleNomina, detalleNomina.IdNomina, detalleNomina.IdEmpleado, detalleNomina.Ajuste, detalleNomina.Transporte, detalleNomina.HorasExtra, detalleNomina.Ausencia, detalleNomina.MinutosTarde, detalleNomina.Prestamo, detalleNomina.INSS, clsReferencias.UPDATE);
                        isUpdate = true;
                    }
                }
                if (isUpdate)
                {
                    List <OtroIngresoEgreso> otros = db.OtroIngresoEgreso.Where(w => w.IdDetalleNomina == IdDetalle).ToList();
                    OtroIngresoEgreso        oie   = null;
                    if (otroIngreso != null)
                    {
                        for (int i = 0; i < otroIngreso.Length; i++)
                        {
                            if (otroIngreso[i].IdOtroIngresoEgreso == 0)
                            {
                                otroIngreso[i].IdDetalleNomina = IdDetalle;
                                otroIngreso[i].FechaCreacion   = System.DateTime.Now;
                                db.OtroIngresoEgreso.Add(otroIngreso[i]);
                            }
                            else
                            {
                                oie          = db.OtroIngresoEgreso.Find(otroIngreso[i].IdOtroIngresoEgreso);
                                oie.Concepto = otroIngreso[i].Concepto;
                                oie.Monto    = otroIngreso[i].Monto;

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

                                otros = otros.Where(w => w.IdOtroIngresoEgreso != oie.IdOtroIngresoEgreso).ToList();
                            }
                        }
                        db.SaveChanges();
                    }

                    foreach (OtroIngresoEgreso o in otros)
                    {
                        oie                 = db.OtroIngresoEgreso.Find(o.IdOtroIngresoEgreso);
                        oie.regAnulado      = true;
                        db.Entry(oie).State = EntityState.Modified;
                    }
                    db.SaveChanges();
                }
                else
                {
                    if (otroIngreso != null)
                    {
                        for (int i = 0; i < otroIngreso.Length; i++)
                        {
                            otroIngreso[i].IdDetalleNomina = IdDetalle;
                            otroIngreso[i].FechaCreacion   = System.DateTime.Now;
                            db.OtroIngresoEgreso.Add(otroIngreso[i]);
                        }
                    }
                    db.SaveChanges();
                }

                return(Json(new { Message = clsReferencias.Exito }));
            }
            catch (Exception ex)
            {
                return(Json(new { Message = new clsException(ex).Message() }));
            }
        }