コード例 #1
0
 public Mensaje buscaCalculoPTU(string claveRazonsocial, DateTime fechaInicio, DateTime fechaFin, DBContextSimple dbContextSimple)
 {
     inicializaVariableMensaje();
     isCalculoPTU = false;
     try
     {
         ptuDatosGenerales = (from ptu in dbContextSimple.Set <PtuDatosGenerales>()
                              where (fechaInicio >= ptu.fechaCalculo && fechaFin <= ptu.fechaCalculo) && ptu.razonesSociales.clave.Equals(claveRazonsocial)
                              select ptu).SingleOrDefault <PtuDatosGenerales>();
         if (ptuDatosGenerales != null)
         {
             DateTime fechaDeCalculo      = ptuDatosGenerales.fechaCalculo.GetValueOrDefault(),
                      fechaPeriodoInicial = fechaInicio,
                      fechaPeriodoFinal   = fechaFin;
             if ((DateTime.Compare(fechaDeCalculo, fechaPeriodoInicial) > 0 ||
                  DateTime.Compare(fechaDeCalculo, fechaPeriodoInicial) == 0) &&
                 (DateTime.Compare(fechaDeCalculo, fechaPeriodoFinal) < 0 ||
                  DateTime.Compare(fechaDeCalculo, fechaPeriodoFinal) == 0))
             {
                 isCalculoPTU = true;
             }
         }
         mensajeResultado.noError   = 0;
         mensajeResultado.resultado = ptuDatosGenerales;
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine(concatena.Remove(0, concatena.Length).Append(msgError).Append("buscaCalculoPTU()1_Error: ").Append(ex));
         mensajeResultado.noError   = ControlErroresEntity.buscaNoErrorPorExcepcion(ex);
         mensajeResultado.error     = ex.GetBaseException().ToString();
         mensajeResultado.resultado = null;
         dbContextSimple.Database.CurrentTransaction.Rollback();
     }
     return(mensajeResultado);
 }
コード例 #2
0
        public Mensaje guardarCargaAcumulados(PtuDatosGenerales ptuDatosGenerales, List <PtuEmpleados> ptuEmpleados, DBContextAdapter dbContext)
        {
            List <PtuEmpleados> listPtuDatosGen = new List <PtuEmpleados>();

            try
            {
                inicializaVariableMensaje();
                setSession(dbContext.context);
                getSession().Database.BeginTransaction();
                int i = 0;
                for (i = 0; i < ptuEmpleados.Count; i++)
                {
                    getSession().Set <PtuEmpleados>().AddOrUpdate(ptuEmpleados[i]);
                    listPtuDatosGen.Add(ptuEmpleados[i]);
                    if (i % 50 == 0 & i > 0)
                    {
                        getSession().SaveChanges();
                    }
                }
                mensajeResultado.resultado = new Object[] { listPtuDatosGen, ptuDatosGenerales };
                mensajeResultado.noError   = 0;
                mensajeResultado.error     = "";
                getSession().Database.CurrentTransaction.Commit();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(concatena.Remove(0, concatena.Length).Append(msgError).Append("guardarCargaAcumulados()1_Error: ").Append(ex));
                mensajeResultado.noError   = ControlErroresEntity.buscaNoErrorPorExcepcion(ex);
                mensajeResultado.error     = ex.GetBaseException().ToString();
                mensajeResultado.resultado = null;
                getSession().Database.CurrentTransaction.Rollback();
            }
            return(mensajeResultado);
        }
コード例 #3
0
        public Mensaje ptuDatosGeneralesPorEjercioyEmpresa(int ejercicio, string claveRazonsocial, DBContextAdapter dbContext)
        {
            PtuDatosGenerales ptuDatosGenerales = new PtuDatosGenerales();

            try
            {
                inicializaVariableMensaje();
                setSession(dbContext.context);
                getSession().Database.BeginTransaction();
                ptuDatosGenerales = (from p in getSession().Set <PtuDatosGenerales>()
                                     where p.ejercicio == ejercicio &&
                                     p.razonesSociales.clave == claveRazonsocial
                                     select p).SingleOrDefault();
                mensajeResultado.resultado = ptuDatosGenerales;
                mensajeResultado.noError   = 0;
                mensajeResultado.error     = "";
                getSession().Database.CurrentTransaction.Commit();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(concatena.Remove(0, concatena.Length).Append(msgError).Append("ptuDatosGeneralesPorEjercioyEmpresa()1_Error: ").Append(ex));
                mensajeResultado.noError   = ControlErroresEntity.buscaNoErrorPorExcepcion(ex);
                mensajeResultado.error     = ex.GetBaseException().ToString();
                mensajeResultado.resultado = null;
                getSession().Database.CurrentTransaction.Rollback();
            }
            return(mensajeResultado);
        }
コード例 #4
0
        public Mensaje calculoPtu(PtuDatosGenerales ptuDatosGenerales, List <PtuEmpleados> ptuEmpleados, double cantidadRepartir, object[] totales, DBContextAdapter dbContext)
        {
            try
            {
                inicializaVariableMensaje();
                setSession(dbContext.context);
                getSession().Database.BeginTransaction();
                Double cantidadDistribuida  = (cantidadRepartir / 2);
                Double totalDeDias          = (Double)totales[0];
                Double totalDePercepciones  = (Double)totales[1];
                Double?totalDiasPtu         = 0D;
                Double?totalPercepcionesPtu = 0D;
                if (ptuEmpleados != null)
                {
                    int i = 0;
                    for (i = 0; i < ptuEmpleados.Count; i++)
                    {
                        Double?ptuDiasEmple = ptuEmpleados[i].diasLaborados / totalDeDias * cantidadDistribuida;
                        if (ptuEmpleados[i].participa)
                        {
                            ptuEmpleados[i].ptuDias = ptuDiasEmple;
                        }
                        else
                        {
                            ptuEmpleados[i].ptuDias = 0.0;
                        }
                        totalDiasPtu += ptuEmpleados[i].ptuDias;
                        Double?ptuPercepEmple;
                        if (Convert.ToDouble(ptuEmpleados[i].percepciones) > 0.0)
                        {
                            ptuPercepEmple = ptuEmpleados[i].percepciones / totalDePercepciones * cantidadDistribuida;
                        }
                        else
                        {
                            ptuPercepEmple = 0.0;
                        }
                        if (ptuEmpleados[i].participa)
                        {
                            ptuEmpleados[i].ptuPercepciones = ptuPercepEmple;
                        }
                        else
                        {
                            ptuEmpleados[i].ptuPercepciones = 0.0;
                        }
                        totalPercepcionesPtu += ptuEmpleados[i].percepciones;
                        getSession().Set <PtuEmpleados>().AddOrUpdate(ptuEmpleados[i]);
                        if (i % 50 == 0 & i > 0)
                        {
                            getSession().SaveChanges();
                        }
                    }
                }
                ptuDatosGenerales.totalDiasptu      = totalDiasPtu;
                ptuDatosGenerales.totalPercepciones = totalPercepcionesPtu;
                ptuDatosGenerales.status            = "CALCULADO";
                getSession().Set <PtuDatosGenerales>().AddOrUpdate(ptuDatosGenerales);
                mensajeResultado.resultado = ptuEmpleados;
                mensajeResultado.noError   = 0;
                mensajeResultado.error     = "";
                getSession().Database.CurrentTransaction.Commit();
            }

            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(concatena.Remove(0, concatena.Length).Append(msgError).Append("calculoPtu()1_Error: ").Append(ex));
                mensajeResultado.noError   = ControlErroresEntity.buscaNoErrorPorExcepcion(ex);
                mensajeResultado.error     = ex.GetBaseException().ToString();
                mensajeResultado.resultado = null;
                getSession().Database.CurrentTransaction.Rollback();
            }
            return(mensajeResultado);
        }