Exemple #1
0
 public List <TipoNomina> getTiponomina()
 {
     try
     {
         using (SqlConnection sqlConn = new SqlConnection(this.strConn))
         {
             sqlConn.Open();
             SqlCommand cmd = new SqlCommand(strConn, sqlConn);
             cmd.CommandType = System.Data.CommandType.StoredProcedure;
             cmd.CommandText = "sp_r_tiponomina";
             SqlDataReader     reader      = cmd.ExecuteReader();
             List <TipoNomina> lTiponomina = new List <TipoNomina>();
             while (reader.Read())
             {
                 TipoNomina mTiponomina = new TipoNomina();
                 mTiponomina.Id_nomina   = Convert.ToInt32(reader["id_nomina"]);
                 mTiponomina.Descripcion = reader["descripcion"].ToString();
                 mTiponomina.Folio       = Convert.ToInt32(reader["folio"]);
                 mTiponomina.Reporte     = reader["reporte"].ToString();
                 mTiponomina.Id_familia  = Convert.ToInt32(reader["id_familia"] ?? 0);
                 mTiponomina.Orden_old   = Convert.ToInt32(reader["orden_old"] ?? 0);
                 mTiponomina.Orden_new   = Convert.ToInt32(reader["orden_new"] ?? 0);
                 lTiponomina.Add(mTiponomina);
                 mTiponomina = null;
             }
             sqlConn.Close();
             return(lTiponomina);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #2
0
 private List <Error> ValidarDatos()
 {
     try
     {
         List <Error>     Errores = new List <Error>();
         int              aux     = 0;
         TipoNomina       AuxTN   = this.ObtenerTipoNominaSeleccionado();
         Puestos          AuxPT   = this.ObtenerPuestoSeleccionado();
         CategoriasPuesto AuxCP   = this.ObtenerCategoriaSeleccionada();
         if (AuxTN.IDTipoNomina == 0)
         {
             Errores.Add(new Error {
                 Numero = (aux += 1), Descripcion = "Seleccione un tipo de nómina.", ControlSender = this.cmbTipoNomina
             });
         }
         if (AuxPT.IDPuesto == 0)
         {
             Errores.Add(new Error {
                 Numero = (aux += 1), Descripcion = "Seleccione un puesto.", ControlSender = this.cmbCatPuesto
             });
         }
         if (string.IsNullOrEmpty(AuxCP.IDCategoria))
         {
             Errores.Add(new Error {
                 Numero = (aux += 1), Descripcion = "Seleccione una categoría.", ControlSender = this.cmbCategoriaPuesto
             });
         }
         return(Errores);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        static public String construyeRutaXML(RazonesSociales razonesSociales, TipoNomina tipoNomina, PeriodosNomina periodosNomina)
        {
            StringBuilder builder = new StringBuilder();
            String        ruta    = razonesSociales.ubicacionXML;

            try
            {
                if (ruta == null ? true : !ruta.Any())
                {
                    string path = System.IO.Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;
                    if (Environment.OSVersion.Version.Major >= 6)
                    {
                        ruta = System.IO.Directory.GetParent(path).ToString();
                    }
                }
                builder.Append(ruta).Append(System.IO.Path.DirectorySeparatorChar).Append(razonesSociales.clave).Append("-").Append(razonesSociales.rfc);


                bool continuar = true;
                if (!System.IO.Directory.Exists(builder.ToString()))
                {
                    System.IO.Directory.CreateDirectory(builder.ToString());
                }

                if (continuar)
                {
                    builder.Append(System.IO.Path.DirectorySeparatorChar);
                    builder.Append(tipoNomina.clave);
                    if (!System.IO.Directory.Exists(builder.ToString()))
                    {
                        System.IO.Directory.CreateDirectory(builder.ToString());
                    }
                }
                if (continuar)
                {
                    builder.Append(System.IO.Path.DirectorySeparatorChar);
                    builder.Append(periodosNomina.año);
                    if (!System.IO.Directory.Exists(builder.ToString()))
                    {
                        System.IO.Directory.CreateDirectory(builder.ToString());
                    }
                }
                if (continuar)
                {
                    builder.Append(System.IO.Path.DirectorySeparatorChar);
                    builder.Append(periodosNomina.clave);
                    if (!System.IO.Directory.Exists(builder.ToString()))
                    {
                        System.IO.Directory.CreateDirectory(builder.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                // System.out.println("ERROR AL CREAR LA CARPETA " + file.getAbsolutePath());
                builder.Remove(0, builder.Length).Append(ruta);
            }
            return(builder.ToString());
        }
Exemple #4
0
        protected void GenerarNomina(int idTipoNomina, int idSolicitud, TipoNomina lTiponomina)
        {
            new TipoNominaBC().add_tiponominaByOperacion(idSolicitud, idTipoNomina, lTiponomina.Folio, Session["usrname"].ToString());

            if (lTiponomina.Codigo_estado != 0)
            {
                new EstadooperacionBC().add_Estadooperacion(idSolicitud, lTiponomina.Codigo_estado, "", Session["usrname"].ToString());
            }
        }
        private String nomenclaturaNombreArchivo(TipoNomina tipoNomina, PeriodosNomina periodosNomina, CFDIEmpleado cFDIEmpleado)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append("TIPNOM_").Append((tipoNomina).clave).Append("_");
            builder.Append("PERIODO_").Append(periodosNomina.clave).Append("_");
            builder.Append("NUMEMP_").Append(cFDIEmpleado.plazasPorEmpleadosMov.plazasPorEmpleado.empleados.clave).Append("_");
            builder.Append("FOLIO_").Append(cFDIEmpleado.cfdiRecibo.serieCFDI).Append(cFDIEmpleado.cfdiRecibo.folioCFDI).Append(".xml");
            return(builder.ToString());
        }
Exemple #6
0
        public static bool Agregar(string codigo, string descripcion)
        {
            TipoNomina tnm = new TipoNomina();

            tnm.Tipo        = codigo;
            tnm.Descripcion = descripcion;
            tnm.HorasMes    = 240;
            tnm.HorasDia    = 8;
            tnm.DiasPeriodo = 30;
            RepositorioTNM.Agregar(tnm);
            return(true);
        }
Exemple #7
0
 public List <TipoNomina> LlenarComboTipoNomina(TipoNomina Datos)
 {
     try
     {
         Usuario_Datos UD = new Usuario_Datos();
         return(UD.LlenarComboTipoNomina(Datos));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #8
0
        public async Task <TipoNomina> NuevaNomina(TipoNomina nomina)
        {
            var nominaGrabar = Mapper.Map <TipoNominaEntity>(nomina);

            if (await _repository.Exist(nominaGrabar.Id))
            {
                return(null);
            }

            await _repository.Add(nominaGrabar);

            return(nomina);
        }
Exemple #9
0
        public async Task <TipoNomina> ActualizarNomina(int id, TipoNomina nomina)
        {
            var nominaActualizar = Mapper.Map <TipoNominaEntity>(nomina);

            if (!await _repository.Exist(id))
            {
                return(null);
            }

            await _repository.Edit(id, nominaActualizar);

            return(nomina);
        }
Exemple #10
0
 private void LlenarComboTipoNomina()
 {
     try
     {
         TipoNomina DatosAux = new TipoNomina {
             Conexion = Comun.Conexion, IncluirSelect = true
         };
         Usuario_Negocio UN = new Usuario_Negocio();
         this.cmbTipoNomina.DataSource    = UN.LlenarComboTipoNomina(DatosAux);
         this.cmbTipoNomina.ValueMember   = "IDTipoNomina";
         this.cmbTipoNomina.DisplayMember = "Descripcion";
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #11
0
        public List <TipoNomina> Getnomina_rendida(Int32 id_inventario)
        {
            try
            {
                using (SqlConnection sqlConn = new SqlConnection(this.strConn))
                {
                    sqlConn.Open();
                    SqlCommand cmd = new SqlCommand(strConn, sqlConn);
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "sp_r_Getnomina_rendida";
                    cmd.Parameters.AddWithValue("@id_inventario", id_inventario);


                    SqlDataReader reader = cmd.ExecuteReader();

                    List <TipoNomina> lnomina = new List <TipoNomina>();

                    TipoNomina mNominarendicion;

                    while (reader.Read())
                    {
                        mNominarendicion = new TipoNomina();

                        mNominarendicion.Folio         = Convert.ToInt32(reader["folio"]);
                        mNominarendicion.Monto         = Convert.ToInt32(reader["total"]);
                        mNominarendicion.Id_nomina     = Convert.ToInt32(reader["id_nomina"]);
                        mNominarendicion.Id_tipogasto  = Convert.ToInt32(reader["id_tipogasto"]);
                        mNominarendicion.Id_inventario = Convert.ToInt32(reader["id_inventario"]);
                        mNominarendicion.Id_familia    = Convert.ToInt32(reader["id_familia"]);

                        lnomina.Add(mNominarendicion);
                        mNominarendicion = null;
                    }



                    return(lnomina);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #12
0
        private void getnomina(DropDownList combo)
        {
            TipoNomina mTiponomina = new TipoNomina();

            mTiponomina.Id_nomina   = 0;
            mTiponomina.Descripcion = "Seleccionar";

            List <TipoNomina> lTiponomina = new TipoNominaBC().getTiponomina();

            lTiponomina.Add(mTiponomina);

            combo.DataSource     = lTiponomina;
            combo.DataValueField = "id_nomina";
            combo.DataTextField  = "descripcion";
            combo.DataBind();
            combo.SelectedValue = "0";

            return;
        }
        public async Task <TipoNomina> GetNomina(int id)
        {
            using (var context = _mysql.GetDBContext())
            {
                var tipoNomina = context.TiposNomina.Find(id);
                if (tipoNomina == null)
                {
                    return(null);
                }
                TipoNomina nomina = new TipoNomina()
                {
                    Nombre      = tipoNomina.Nombre,
                    Nocturnidad = tipoNomina.Nocturnidad
                };


                return(nomina);
            }
        }
Exemple #14
0
 private TipoNomina ObtenerTipoNominaSeleccionado()
 {
     try
     {
         TipoNomina TipoNomina = new TipoNomina();
         if (this.cmbTipoNomina.Items.Count > 0)
         {
             if (this.cmbTipoNomina.SelectedIndex != -1)
             {
                 TipoNomina = (TipoNomina)this.cmbTipoNomina.SelectedItem;
             }
         }
         return(TipoNomina);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #15
0
        internal static void Agregar(TipoNomina tipoNomina)
        {
            DatabaseFactory.SetDatabaseProviderFactory(new DatabaseProviderFactory(), false);
            Database db = DatabaseFactory.CreateDatabase();

            using (var command = db.GetStoredProcCommand("crud_TNMInsert"))
                using (command.Connection = db.CreateConnection())
                {
                    AddRequiredParameters(tipoNomina, command);
                    try
                    {
                        command.Connection.Open();
                        command.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        throw;
                    }
                }
        }
        public async Task <TipoNomina> NuevaNomina(TipoNomina nomina)
        {
            using (var context = _mysql.GetDBContext())
            {
                TipoNominaEntity nominaE = Mapper.Map <TipoNominaEntity>(nomina);
                var tipoNomina           = context.TiposNomina.Add(nominaE);
                if (tipoNomina == null)
                {
                    return(null);
                }

                /*TipoNomina nomina = new TipoNomina()
                 * {
                 *  Nombre = tipoNomina.Nombre,
                 *  Nocturnidad = tipoNomina.Nocturnidad
                 * };*/


                return(nomina);
            }
        }
Exemple #17
0
        public List <TipoNomina> getTipoNominaByIdFamiliacheck(int id_familia)
        {
            try
            {
                using (SqlConnection sqlConn = new SqlConnection(this.strConn))
                {
                    sqlConn.Open();
                    SqlCommand cmd = new SqlCommand(strConn, sqlConn);
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "sp_r_tipoNominaByIdFamiliachek";
                    cmd.Parameters.AddWithValue("@id_familia", id_familia);
                    SqlDataReader     reader      = cmd.ExecuteReader();
                    List <TipoNomina> lTiponomina = new List <TipoNomina>();
                    while (reader.Read())
                    {
                        TipoNomina mTiponomina = new TipoNomina();
                        mTiponomina.Id_nomina     = Convert.ToInt32(reader["id_nomina"]);
                        mTiponomina.Descripcion   = reader["descripcion"].ToString();
                        mTiponomina.Folio         = Convert.ToInt32(reader["folio"]);
                        mTiponomina.Reporte       = reader["reporte"].ToString();
                        mTiponomina.Id_familia    = Convert.ToInt32(reader["id_familia"] ?? 0);
                        mTiponomina.Orden_old     = Convert.ToInt32(reader["orden_old"] ?? 0);
                        mTiponomina.Orden_new     = Convert.ToInt32(reader["orden_new"] ?? 0);
                        mTiponomina.Codigo_estado = Convert.ToInt32(reader["codigo_estado"] ?? 0);
                        mTiponomina.Id_tipogasto  = Convert.ToInt32(reader["id_tipogasto"] ?? 0);
                        mTiponomina.Chek          = Convert.ToInt16(reader["permite_factura"]);


                        lTiponomina.Add(mTiponomina);
                        mTiponomina = null;
                    }
                    sqlConn.Close();
                    return(lTiponomina);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #18
0
 private Usuario ObtenerDatos()
 {
     try
     {
         Usuario          DatosAux = new Usuario();
         TipoNomina       TN       = this.ObtenerTipoNominaSeleccionado();
         Puestos          PT       = this.ObtenerPuestoSeleccionado();
         CategoriasPuesto CP       = this.ObtenerCategoriaSeleccionada();
         DatosAux.IDEmpleado        = this.Empleado.IDEmpleado;
         DatosAux.IDTipoNomina      = TN.IDTipoNomina;
         DatosAux.IDPuesto          = PT.IDPuesto;
         DatosAux.IDCategoriaPuesto = CP.IDCategoria;
         DatosAux.SueldoBase        = this.ObtenerSueldo();
         DatosAux.Conexion          = Comun.Conexion;
         DatosAux.IDUsuario         = Comun.IDUsuario;
         return(DatosAux);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #19
0
        private bool CambioEstado(int idSolicitud, int estadoActual, TipoNomina tipoNomina, int idCliente)
        {
            bool validaComportamiento = false;

            if (Convert.ToInt32(dlCambioEstado.SelectedValue) == ESTADO_FACTURACION && idCliente != 91)
            {
                GenerarNomina(NOMINA_FACTURACION, idSolicitud, tipoNomina);
                validaComportamiento = true;
            }
            else
            {
                //valida si el siguiente estado seleccionado por usuario corresponde al estado de la tabla comportamiento
                validaComportamiento = new ComportamientoEstadoBC().ValidacionComportamiento(estadoActual, Convert.ToInt32(dlCambioEstado.SelectedValue));
                //si devuelve true, inserta el siguiente estado
                //if (validaComportamiento)
                //{
                new EstadooperacionBC().add_Estadooperacion(idSolicitud, Convert.ToInt32(dlCambioEstado.SelectedValue), txtComentarioAccion.Value.Trim().ToUpper(), (string)(Session["usrname"]));
                //}
                //devuelve el resultado true, false
            }
            return(validaComportamiento);
        }
Exemple #20
0
 public TipoNomina getTiponominaBytipo(Int32 id_nomina)
 {
     try
     {
         using (SqlConnection sqlConn = new SqlConnection(this.strConn))
         {
             sqlConn.Open();
             SqlCommand cmd = new SqlCommand(strConn, sqlConn);
             cmd.CommandType = System.Data.CommandType.StoredProcedure;
             cmd.CommandText = "sp_r_tiponominaBytipo";
             cmd.Parameters.AddWithValue("@id_nomina", id_nomina);
             SqlDataReader reader      = cmd.ExecuteReader();
             TipoNomina    lTiponomina = null;
             if (reader.HasRows)
             {
                 lTiponomina = new TipoNomina();
                 if (reader.Read())
                 {
                     lTiponomina.Id_nomina       = Convert.ToInt32(reader["id_nomina"]);
                     lTiponomina.Descripcion     = reader["descripcion"].ToString();
                     lTiponomina.Folio           = Convert.ToInt32(reader["folio"]);
                     lTiponomina.Reporte         = reader["reporte"].ToString();
                     lTiponomina.Id_familia      = Convert.ToInt32(reader["id_familia"] ?? 0);
                     lTiponomina.Orden_old       = Convert.ToInt32(reader["orden_old"] ?? 0);
                     lTiponomina.Orden_new       = Convert.ToInt32(reader["orden_new"] ?? 0);
                     lTiponomina.Id_tipogasto    = Convert.ToInt32(reader["id_tipogastos"] ?? 0);
                     lTiponomina.Permite_factura = Convert.ToBoolean(reader["permite_factura"] ?? false);
                     lTiponomina.Cliente_unico   = Convert.ToBoolean(reader["cliente_unico"] ?? false);
                 }
             }
             sqlConn.Close();
             return(lTiponomina);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public List <TipoNomina> LlenarComboTipoNomina(TipoNomina Datos)
 {
     try
     {
         List <TipoNomina> Lista = new List <TipoNomina>();
         TipoNomina        Item;
         object[]          Parametros = { Datos.IncluirSelect };
         SqlDataReader     Dr         = SqlHelper.ExecuteReader(Datos.Conexion, "spCSLDB_get_ComboTipoNomina", Parametros);
         while (Dr.Read())
         {
             Item = new TipoNomina();
             Item.IDTipoNomina = Dr.IsDBNull(Dr.GetOrdinal("IDTipoNomina")) ? 0 : Dr.GetInt32(Dr.GetOrdinal("IDTipoNomina"));
             Item.Descripcion  = Dr.IsDBNull(Dr.GetOrdinal("TipoNomina")) ? string.Empty : Dr.GetString(Dr.GetOrdinal("TipoNomina"));
             Lista.Add(Item);
         }
         Dr.Close();
         return(Lista);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #22
0
 private static void AddRequiredParameters(TipoNomina tipoNomina, DbCommand command)
 {
     command.Parameters.Add(new SqlParameter()
     {
         ParameterName = "@TIPO_NOM",
         Value         = tipoNomina.Tipo
     });
     command.Parameters.Add(new SqlParameter()
     {
         ParameterName = "@DESCRIPCION",
         Value         = tipoNomina.Descripcion
     });
     command.Parameters.Add(new SqlParameter()
     {
         ParameterName = "@HORS_POR_MES",
         Value         = tipoNomina.HorasMes,
         DbType        = DbType.Double
     });
     command.Parameters.Add(new SqlParameter()
     {
         ParameterName = "@HRS_DIA",
         Value         = tipoNomina.HorasDia,
         DbType        = DbType.Double
     });
     command.Parameters.Add(new SqlParameter()
     {
         ParameterName = "@DIAS_P",
         Value         = tipoNomina.DiasPeriodo,
         DbType        = DbType.Double
     });
     command.Parameters.Add(new SqlParameter()
     {
         ParameterName = "@DSCTO_MIN",
         Value         = tipoNomina.DescuentoMinimo,
         DbType        = DbType.Double
     });
 }
Exemple #23
0
 /// <summary>
 /// Crea una nómina con los datos mínimos, note que falta agregar los datos que faltan con el PegarDatosRelacionFolio
 /// </summary>
 public NominaTrabajador(
     int idRegistroPatronal,
     int idTrabajador,
     string serie,
     TipoNomina tipo,
     TipoNominaActiva tipoNomActiva,
     DateTime fechaPago,
     TipoPeriodo tipoPeriodo,
     DateTime periodoIni,
     DateTime periodoFin,
     int diasTrab,
     int?idSesionNA,
     bool generaAltasBajas,
     DateTime?trabInicio,
     DateTime?trabFinal,
     decimal salarioDiario,
     decimal salarioDiarioIntegrado,
     bool aplicaTablaIsr)
 {
     IdRegistroPatronal = idRegistroPatronal;
     IdTrabajador       = idTrabajador;
     Serie                  = serie;
     Tipo                   = tipo;
     TipoNomActiva          = tipoNomActiva;
     GeneraAltasBajas       = generaAltasBajas;
     FechaPago              = fechaPago;
     TipoPeriodo            = tipoPeriodo;
     PeriodoIni             = periodoIni;
     PeriodoFin             = periodoFin;
     DiasTrab               = diasTrab;
     IdSesionNA             = idSesionNA;
     TrabInicio             = trabInicio;
     TrabFinal              = trabFinal;
     SalarioDiario          = salarioDiario;
     SalarioDiarioIntegrado = salarioDiarioIntegrado;
     AplicaTablaIsr         = aplicaTablaIsr;
 }
        private Asistencias creaAsistenciaIncapacidad(Empleados emp, TipoNomina nomina, DateTime fecha, Excepciones excepcion, PeriodosNomina periodo, RazonesSociales razonesSociales)
        {
            List <Asistencias> listAsistencia = getAsistenciasPorRangoFechas(emp.clave, fecha, fecha, razonesSociales.clave);//JSA02
            Asistencias        asist          = new Asistencias();

            if (listAsistencia == null)
            {
                listAsistencia = new List <Asistencias>();
            }
            if (listAsistencia.Count > 0)
            {
                asist = listAsistencia[0];
            }
            asist.razonesSociales = razonesSociales;
            asist.empleados       = emp;
            asist.tipoNomina      = nomina;
            asist.periodosNomina  = periodo;
            asist.excepciones     = excepcion;
            asist.fecha           = fecha;
            asist.jornada         = 8.0;
            asist.tipoPantalla    = 100;

            return(asist);
        }
        private CFDIEmpleado costruyeCFDIEmpleado(DatosPorEmpleado datosPorEmpleado, PeriodosNomina periodoNomina, TipoCorrida tipoCorrida, TipoNomina nomina, DateTime fechaActual, RazonesSociales razonesSocialesActual)
        {
            CFDIEmpleado cfdiEmpleado = new CFDIEmpleado();

            PlazasPorEmpleadosMov ppem     = (PlazasPorEmpleadosMov)datosPorEmpleado.plazasPorEmpleadosMov;
            Empleados             empleado = ppem.plazasPorEmpleado.empleados;

            cfdiEmpleado.razonesSociales = (razonesSocialesActual);//MainPrincipal.getRazonesSocialesActual());
            //validaDatosRazonSocial(razonesSocialesActual);//MainPrincipal.getRazonesSocialesActual());
            cfdiEmpleado.tipoCorrida           = (tipoCorrida);
            cfdiEmpleado.tipoNomina            = (nomina);
            cfdiEmpleado.periodosNomina        = (periodoNomina);
            cfdiEmpleado.plazasPorEmpleadosMov = (ppem);
            cfdiEmpleado.nombre          = (empleado.nombre);
            cfdiEmpleado.apellidoMaterno = (empleado.apellidoMaterno);
            cfdiEmpleado.apellidoPaterno = (empleado.apellidoPaterno);
            camposNecesariosMsg.Append(empleado.CURP == null ? "Empleado_CURP|" : !empleado.CURP.Any() ? "Empleado_CURP|" : "");
            cfdiEmpleado.CURP = (empleado.CURP);
            camposNecesariosMsg.Append(empleado.RFC == null ? "Empleado_RFC|" : !empleado.RFC.Any() ? "Empleado_RFC|" : "");
            cfdiEmpleado.RFC        = (empleado.RFC);
            cfdiEmpleado.calle      = (empleado.domicilio);
            cfdiEmpleado.noExterior = (empleado.numeroExt);
            cfdiEmpleado.noInterior = (empleado.numeroInt);
            cfdiEmpleado.colonia    = (empleado.colonia);

            if (empleado.cp != null)
            {
                cfdiEmpleado.codigoPostal = (empleado.cp.clave);
            }
            if (empleado.ciudades != null)
            {
                cfdiEmpleado.ciudad = (empleado.ciudades.descripcion);
            }
            if (empleado.municipios != null)
            {
                cfdiEmpleado.municipio = (empleado.municipios.descripcion);
            }
            if (empleado.estados != null)
            {
                cfdiEmpleado.estado = (empleado.estados.clave);
            }
            if (empleado.paises == null)
            {
                camposNecesariosMsg.Append("Empleado_Pais|");
            }
            else
            {
                String pais = empleado.paises.descripcion;
                camposNecesariosMsg.Append(pais == null ? "Empleado_Pais|" : !pais.Any() ? "Empleado_Pais|" : "");
                cfdiEmpleado.pais = (pais);
            }
            cfdiEmpleado.correoElectronico = (empleado.correoElectronico);
            cfdiEmpleado.noSeguroSocial    = (empleado.IMSS);

            cfdiEmpleado.formaPago          = "99"; //dato fijo segun la guia de llenado
            cfdiEmpleado.noRegistroPatronal = (ppem.plazasPorEmpleado.registroPatronal == null ? null : ppem.plazasPorEmpleado.registroPatronal.registroPatronal.Replace(" ", "-"));
            cfdiEmpleado.tipoContrato       = (ppem.tipoContrato == null ? null : ppem.tipoContrato.clave);
            cfdiEmpleado.riesgoPuesto       = (ppem.plazasPorEmpleado.registroPatronal == null ? null : ppem.plazasPorEmpleado.registroPatronal.riesgoPuesto);
            camposNecesariosMsg.Append(ppem.plazasPorEmpleado.registroPatronal == null ? "RegistroPatronal_RiesgoPuesto|" : ppem.plazasPorEmpleado.registroPatronal.riesgoPuesto == null ? "RegistroPatronal_RiesgoPuesto|" : !ppem.plazasPorEmpleado.registroPatronal.riesgoPuesto.Any() ? "RegistroPatronal_RiesgoPuesto|" : "");
            cfdiEmpleado.puesto       = (ppem.puestos == null ? null : ppem.puestos.descripcion);
            cfdiEmpleado.departamento = (ppem.departamentos == null ? null : ppem.departamentos.descripcion);

            cfdiEmpleado.fechaInicioRelLaboral = (ppem.fechaInicial); /// fecha ingreso esta en ingresos y reingresos

            if (tipoCorrida == null ? false : string.Equals(tipoCorrida.clave, "ASI", StringComparison.OrdinalIgnoreCase))
            {//
             //  camposNecesariosMsg.Append(ppem.clabe == null ? "PlazasPorEmpleadosMov_CLABE|" : !ppem.clabe.Trim().Any() ? "PlazasPorEmpleadosMov_CLABE" : "");
            }
            //cfdiEmpleado.CLABE = (ppem.clabe);
            //camposNecesariosMsg.Append(ppem.bancos == null ? "PlazasPorEmpleadosMov_Bancos|" : "");
            //cfdiEmpleado.claveBancoSat = (ppem.bancos == null ? null : ppem.bancos.clave);

            //if (ppem.cuentaBancaria != null)
            //{
            //    cfdiEmpleado.cuentaBancaria = (ppem.cuentaBancaria.Replace("-", ""));
            //}
            camposNecesariosMsg.Append(ppem.regimenContratacion == null ? "PlazasPorEmpleadosMov_RegimenContratacion|" : "");
            cfdiEmpleado.regimenContratacion = (ppem.regimenContratacion);
            cfdiEmpleado.jornada             = (ppem.turnos == null ? null : ppem.turnos.Jornada == null ? null : ppem.turnos.Jornada.clave);

            camposNecesariosMsg.Append(periodoNomina.fechaPago == null ? "PeriodosNomina_FechaPago|" : "");
            cfdiEmpleado.fechaPago = (periodoNomina.fechaPago.GetValueOrDefault());
            camposNecesariosMsg.Append(periodoNomina.fechaFinal == null ? "PeriodosNomina_FechaFinal|" : "");
            cfdiEmpleado.fechaFinalPago = (periodoNomina.fechaFinal.GetValueOrDefault());
            camposNecesariosMsg.Append(periodoNomina.fechaInicial == null ? "PeriodosNomina_FechaInicial|" : "");
            cfdiEmpleado.fechaInicioPago = (periodoNomina.fechaInicial.GetValueOrDefault());
            camposNecesariosMsg.Append(periodoNomina.diasPago == null ? "PeriodosNomina_DiasPago|" : "");
            cfdiEmpleado.numeroDiasPago = (periodoNomina.diasPago.GetValueOrDefault());

            cfdiEmpleado.salIntIMSS      = (datosPorEmpleado.salarioDiarioIntegrado);
            cfdiEmpleado.salBaseCotAport = (ppem.sueldoDiario);
            if (datosPorEmpleado.fechaIngreso == null || fechaActual == null)
            {
                System.Diagnostics.Debug.WriteLine("Las fechas del empleado estan vacías");
            }                                                                                                                                                                  ////datosPorEmpleado.getFechaIngreso()
            cfdiEmpleado.antiguedad    = (Utilerias.cantidadSemanasEntreDosFechasStatic(ppem.fechaInicial.GetValueOrDefault(), periodoNomina.fechaFinal.GetValueOrDefault())); //calculado
            cfdiEmpleado.antiguedadYMD = (UtileriasSat.getAntiguedadYMD(ppem.fechaInicial.GetValueOrDefault(), periodoNomina.fechaFinal.GetValueOrDefault()));                 //calculado

            cfdiEmpleado.periodiciadadPago = (nomina.periodicidad.clave);

            return(cfdiEmpleado);
        }
 public Task <TipoNomina> ActualizarNomina(int id, TipoNomina nomina)
 {
     throw new NotImplementedException();
 }
        public List <CFDIEmpleado> generaComprobanteV33(TipoNomina tipoNomina, PeriodosNomina periodosNomina, List <CFDIEmpleado> listCFDIEmpleados, ConfiguraTimbrado configuraTimbrado, System.Xml.Xsl.XslCompiledTransform transformerCadenaOriginal, DBContextAdapter dbContextSimple)
        {
            Comprobante oComprobante = new Comprobante();
            //aqui va que agarre el certificado de donde se tiene configurado
            ConcepNomDefi conceptoNominaSubsidio = servicioCFDIEmpleado.getConceptoNominaSubsidio(dbContextSimple);

            /* string pathCer = ruta;
             * string pathKey = ruta;*/
            string pathXML = ruta;
            // string clavePrivada = null;
            SelloDigital oSelloDigital     = new SelloDigital();
            Certificados certificadoActual = new Certificados();


            listCFDIEmpleados = listCFDIEmpleados == null ? new List <CFDIEmpleado>() : listCFDIEmpleados;
            List <object> timbreFiscalDigitales;

            try
            {
                List <DatosEmpleadoComprobate> datosEmpleadoComprobates = new List <DatosEmpleadoComprobate>();
                if (listCFDIEmpleados.Count > 0)
                {
                    RazonesSociales razonSocial = listCFDIEmpleados[0].razonesSociales;
                    int             i, j;
                    String          nombreFile;
                    certificadoActual = servicioCertificado.certificadoActualId(razonSocial.id, dbContextSimple);


                    StringBuilder pathXmlExistentes = new StringBuilder();
                    pathXmlExistentes.Append(construyeRutaXML(razonSocial, tipoNomina, periodosNomina)).Append(System.IO.Path.DirectorySeparatorChar);
                    /*******************Busca documentos ya existentes********************/
                    Comprobante comprobanteExistentes;
                    ConstruyeTimbreFiscalDigital11 timbreDigitalCadenaOrig = null;
                    List <CFDIEmpleado>            listCFDIEmpleadosTimbrados = new List <CFDIEmpleado>();
                    String ruta2 = pathXmlExistentes.ToString(), nombreArchivo;
                    for (i = 0; i < listCFDIEmpleados.Count(); i++)
                    {
                        nombreArchivo = nomenclaturaNombreArchivo(tipoNomina, periodosNomina, listCFDIEmpleados[i]);

                        if (listCFDIEmpleados[i].cfdiRecibo.statusTimbrado == StatusTimbrado.TIMBRADO)
                        {
                            XmlDocument  doc = new XmlDocument();
                            MemoryStream ms  = new MemoryStream(listCFDIEmpleados[i].cfdiRecibo.xmlTimbrado);
                            doc.Load(ms);
                            XmlSerializer oXmlSerializar = new XmlSerializer(typeof(Comprobante));
                            using (XmlReader writer = new XmlNodeReader(doc))
                            {
                                comprobanteExistentes = (Comprobante)oXmlSerializar.Deserialize(writer);
                            }

                            CreateXML(comprobanteExistentes, string.Concat(ruta2, nombreArchivo));
                            listCFDIEmpleadosTimbrados.Add(listCFDIEmpleados[i]);
                        }
                    }

                    if (listCFDIEmpleadosTimbrados.Count() > 0)
                    {
                        for (i = 0; i < listCFDIEmpleadosTimbrados.Count; i++)
                        {
                            listCFDIEmpleados.Remove(listCFDIEmpleadosTimbrados[i]);
                        }
                    }

                    Comprobante       comprobante = null;
                    ConstruyeNomina12 creaXmlNomina = new ConstruyeNomina12();
                    Nomina            nomina12;

                    if (listCFDIEmpleados.Count > 0)
                    {
                        for (i = 0; i < listCFDIEmpleados.Count; i++)
                        {
                            if (listCFDIEmpleados[i].cfdiRecibo.statusXmlSat == StatusXmlSat.NINGUNO)
                            {
                                listCFDIEmpleados[i].certificadoAsignado = certificadoActual;
                                comprobante = construyeComprobante(listCFDIEmpleados[i]);
                                listCFDIEmpleados[i].cfdiRecibo.fechaEmision = fechaGeneraXML;
                                nomina12 = creaXmlNomina.generaComplementoNomina(listCFDIEmpleados[i], conceptoNominaSubsidio);
                                if (creaXmlNomina.mensajeNomina.noError > 0)
                                {
                                    DatosEmpleadoComprobate errorNominaDatos = new DatosEmpleadoComprobate(listCFDIEmpleados[i], comprobante);
                                    datosEmpleadoComprobates.Add(new DatosEmpleadoComprobate(listCFDIEmpleados[i], comprobante));
                                    errorNominaDatos.cfdiEmpleado.mensaje = creaXmlNomina.mensajeNomina.error;
                                }
                                else
                                {
                                    comprobante = agregarComplementoNomina(comprobante, nomina12);
                                    datosEmpleadoComprobates.Add(new DatosEmpleadoComprobate(listCFDIEmpleados[i], comprobante));
                                }
                            }
                            else if (listCFDIEmpleados[i].cfdiRecibo.statusXmlSat == StatusXmlSat.ENVIADO_SAT)
                            {
                                try
                                {
                                    XmlDocument  doc = new XmlDocument();
                                    MemoryStream ms  = new MemoryStream(listCFDIEmpleados[i].cfdiRecibo.xmlTimbrado);
                                    doc.Load(ms);
                                    XmlSerializer oXmlSerializar = new XmlSerializer(typeof(Comprobante));
                                    using (XmlReader writer = new XmlNodeReader(doc))
                                    {
                                        comprobante = (Comprobante)oXmlSerializar.Deserialize(writer);
                                    }
                                }
                                catch (Exception)
                                {
                                    listCFDIEmpleados[i].certificadoAsignado     = certificadoActual;
                                    listCFDIEmpleados[i].cfdiRecibo.statusXmlSat = StatusXmlSat.NINGUNO;
                                    comprobante = construyeComprobante(listCFDIEmpleados[i]);
                                    listCFDIEmpleados[i].cfdiRecibo.fechaEmision = fechaGeneraXML;
                                    nomina12    = creaXmlNomina.generaComplementoNomina(listCFDIEmpleados[i], conceptoNominaSubsidio);
                                    comprobante = agregarComplementoNomina(comprobante, nomina12);
                                }
                                datosEmpleadoComprobates.Add(new DatosEmpleadoComprobate(listCFDIEmpleados[i], comprobante));
                            }
                        }
                        CFDIRecibo recibo;
                        for (i = 0; i < datosEmpleadoComprobates.Count; i++)
                        {
                            if (datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo.statusXmlSat == StatusXmlSat.NINGUNO)
                            {
                                nombreFile = nomenclaturaNombreArchivo(tipoNomina, periodosNomina, datosEmpleadoComprobates[i].cfdiEmpleado);
                                CreateXML(datosEmpleadoComprobates[i].comprobante, string.Concat(ruta2, nombreFile));
                                string cadenaOriginal = getCadenaoriginal(string.Concat(ruta2, nombreFile));


                                //byte[] ClavePrivada1 = razonSocial.llaveSAT;
                                byte[] ClavePrivada1 = certificadoActual.llavePrivada;
                                datosEmpleadoComprobates[i].comprobante.Sello = oSelloDigital.Sellar(cadenaOriginal, ClavePrivada1, certificadoActual.password);
                                CreateXML(datosEmpleadoComprobates[i].comprobante, string.Concat(ruta2, nombreFile));
                                recibo                   = datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo;
                                recibo.total             = Convert.ToDouble(datosEmpleadoComprobates[i].comprobante.Total);
                                recibo.folioCFDI         = datosEmpleadoComprobates[i].comprobante.Folio;
                                recibo.noCertificado     = datosEmpleadoComprobates[i].comprobante.NoCertificado;
                                recibo.sello             = (datosEmpleadoComprobates[i].comprobante.Sello);
                                recibo.serieCFDI         = (datosEmpleadoComprobates[i].comprobante.Serie);
                                recibo.cadenaCertificado = (datosEmpleadoComprobates[i].comprobante.Certificado);
                                recibo.version           = (datosEmpleadoComprobates[i].comprobante.Version);
                                recibo.serie             = (datosEmpleadoComprobates[i].comprobante.Serie);

                                datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo = (recibo);

                                datosEmpleadoComprobates[i].archivoByte   = System.IO.File.ReadAllBytes(string.Concat(ruta2, nombreFile));
                                datosEmpleadoComprobates[i].nombreArchivo = nombreFile;
                            }
                            else if (datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo.statusXmlSat == StatusXmlSat.ENVIADO_SAT)
                            {
                                nombreFile = nomenclaturaNombreArchivo(tipoNomina, periodosNomina, datosEmpleadoComprobates[i].cfdiEmpleado);
                                datosEmpleadoComprobates[i].archivoByte   = datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo.xmlTimbrado;
                                datosEmpleadoComprobates[i].nombreArchivo = nombreFile;
                            }
                        }

                        List <InfoExtra> infoExtras = new List <InfoExtra>();
                        InfoExtra        infoExtra;

                        for (i = 0; i < datosEmpleadoComprobates.Count; i++)
                        {
                            datosEmpleadoComprobates[i].statusTimbrado = (StatusTimbrado.EN_PROCESO);
                            infoExtra = new InfoExtra();

                            infoExtra.archivoXML    = (datosEmpleadoComprobates[i].archivoByte);
                            infoExtra.nombreArchivo = (datosEmpleadoComprobates[i].nombreArchivo);
                            infoExtra.rfcEmisor     = (datosEmpleadoComprobates[i].comprobante.Emisor.Rfc);
                            infoExtra.rfcReceptor   = (datosEmpleadoComprobates[i].comprobante.Receptor.Rfc);
                            infoExtra.version       = (datosEmpleadoComprobates[i].comprobante.Version);
                            infoExtra.folio         = (datosEmpleadoComprobates[i].comprobante.Folio);
                            infoExtras.Add(infoExtra);
                            if (datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo.statusXmlSat == StatusXmlSat.NINGUNO)
                            {
                                datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo.statusXmlSat = (StatusXmlSat.ENVIADO_SAT);
                                datosEmpleadoComprobates[i].cfdiEmpleado.cfdiRecibo.xmlTimbrado  = (datosEmpleadoComprobates[i].archivoByte);
                                if (datosEmpleadoComprobates[i].cfdiEmpleado.id != 0)
                                {
                                    servicioCFDIEmpleado.actualizar(datosEmpleadoComprobates[i].cfdiEmpleado, dbContextSimple);
                                }
                            }
                        }

                        //timbrar
                        if (infoExtras.Count > 0)
                        {
                            //datos de timbrar desde la razon social
                            TimbrarXmlSat timbrarXmlSat = new TimbrarXmlSat();
                            InfoATimbrar  infoATimbrar  = new InfoATimbrar();
                            infoATimbrar.tipoOperacion  = (TipoOperacionWS.TIMBRAR);
                            infoATimbrar.infoExtras     = (infoExtras);
                            infoATimbrar.password       = configuraTimbrado.contraseña;
                            infoATimbrar.urlWebServices = configuraTimbrado.URL;
                            infoATimbrar.usuario        = configuraTimbrado.usuario;

                            timbreFiscalDigitales = timbrarXmlSat.generaTimbres(infoATimbrar, dbContextSimple);
                            if (timbrarXmlSat.error != null)
                            {
                                mensaje.noError   = 101;
                                mensaje.resultado = (timbrarXmlSat.error);
                                if (timbreFiscalDigitales.Count > 0)
                                {
                                    for (i = 0; i < timbreFiscalDigitales.Count; i++)
                                    {
                                        j = 0;
                                        DatosTimbreFiscalDigital info = (DatosTimbreFiscalDigital)timbreFiscalDigitales[i];

                                        while (j < datosEmpleadoComprobates.Count)
                                        {
                                            if (info.error != 0)
                                            {
                                                if (string.Equals((datosEmpleadoComprobates[j].folio == null ? "" : datosEmpleadoComprobates[j].folio), (info.folio == null ? "" : info.folio), StringComparison.OrdinalIgnoreCase))
                                                {
                                                    datosEmpleadoComprobates[j].cfdiEmpleado.mensaje = info.descripcion;
                                                }
                                            }

                                            j++;
                                        }
                                    }
                                }
                            }
                            timbreFiscalDigitales = timbreFiscalDigitales == null ? new List <object>() : timbreFiscalDigitales;

                            if (timbreFiscalDigitales.Count > 0)
                            {
                                XmlNode tfd;
                                ConstruyeTimbreFiscalDigital11 digital11 = new ConstruyeTimbreFiscalDigital11(ruta);

                                j = 0;
                                listCFDIEmpleados.Clear();
                                for (i = 0; i < timbreFiscalDigitales.Count; i++)
                                {
                                    while (j < datosEmpleadoComprobates.Count)
                                    {
                                        DatosTimbreFiscalDigital timbre = (DatosTimbreFiscalDigital)timbreFiscalDigitales[i];


                                        if (string.Equals((datosEmpleadoComprobates[j].folio == null ? "" : datosEmpleadoComprobates[j].folio), (timbre.folio == null ? "" : timbre.folio), StringComparison.OrdinalIgnoreCase))
                                        {
                                            if (string.Equals(timbre.status, "200", StringComparison.OrdinalIgnoreCase) || string.Equals(timbre.status, "307", StringComparison.OrdinalIgnoreCase))
                                            {
                                                //CreateXMLTimbreFiscal(digital11.contruyeTimbreFiscalDigital(timbreFiscalDigitales[i]), string.Concat(ruta2, "pruebaTimbre.xml"));

                                                recibo = datosEmpleadoComprobates[j].cfdiEmpleado.cfdiRecibo;
                                                CreateXML(datosEmpleadoComprobates[j].comprobante, string.Concat(ruta2, datosEmpleadoComprobates[j].nombreArchivo));
                                                string cadenaOriginal = getCadenaoriginal(string.Concat(ruta2, datosEmpleadoComprobates[j].nombreArchivo));
                                                recibo.cadenaCertificado   = cadenaOriginal;
                                                recibo.certificadoTimbrado = (timbre.noCertificadoSAT);
                                                recibo.noCertificadoSAT    = (timbre.noCertificadoSAT);
                                                recibo.fechaHoraTimbrado   = (timbre.fechaTimbrado);
                                                recibo.selloTimbrado       = (timbre.selloSAT);
                                                recibo.selloSAT            = (timbre.selloSAT);
                                                recibo.UUID           = (timbre.uuid);
                                                recibo.rfcProvCertif  = (timbre.referenciasProveedor);
                                                recibo.statusTimbrado = (StatusTimbrado.TIMBRADO);
                                                recibo.statusXmlSat   = (StatusXmlSat.RECIBIDO_SAT);
                                                recibo.xmlTimbrado    = (timbre.xmlTimbrado);


                                                string cadenaOriginalSAT1 = "||" + timbre.version + "|" + timbre.uuid + "|" + timbre.fechaTimbrado + "|" + timbre.referenciasProveedor;
                                                if (timbre.descripcion != "")
                                                {
                                                    cadenaOriginalSAT1 += "|" + timbre.descripcion + "|" + timbre.selloCFD + "|" + timbre.noCertificadoSAT + "||";
                                                }
                                                else
                                                {
                                                    cadenaOriginalSAT1 += "|" + timbre.selloCFD + "|" + timbre.noCertificadoSAT + "||";
                                                }

                                                recibo.cadenaOriginalTimbrado = cadenaOriginalSAT1;


                                                datosEmpleadoComprobates[j].cfdiEmpleado.recienTimbrado = (true);
                                                datosEmpleadoComprobates[j].cfdiEmpleado.cfdiRecibo     = (recibo);



                                                if (datosEmpleadoComprobates[i].cfdiEmpleado.id != 0)
                                                {
                                                    servicioCFDIEmpleado.actualizar(datosEmpleadoComprobates[j].cfdiEmpleado, dbContextSimple);
                                                }
                                            }
                                            else
                                            {
                                                datosEmpleadoComprobates[j].statusTimbrado = StatusTimbrado.ERROR;
                                                datosEmpleadoComprobates[j].cfdiEmpleado.cfdiRecibo.mensajeRec = (timbre.descripcion);

                                                datosEmpleadoComprobates[j].cfdiEmpleado.cfdiRecibo.statusTimbrado = StatusTimbrado.ERROR;
                                                datosEmpleadoComprobates[j].cfdiEmpleado.cfdiRecibo.statusXmlSat   = StatusXmlSat.NINGUNO;
                                                datosEmpleadoComprobates[j].cfdiEmpleado.cfdiRecibo.xmlTimbrado    = null;
                                                if (datosEmpleadoComprobates[j].cfdiEmpleado.id != 0)
                                                {
                                                    servicioCFDIEmpleado.actualizar(datosEmpleadoComprobates[j].cfdiEmpleado, dbContextSimple);
                                                }
                                            }

                                            datosEmpleadoComprobates[j].cfdiEmpleado.mensaje = (timbre.descripcion);
                                            listCFDIEmpleados.Add(datosEmpleadoComprobates[j].cfdiEmpleado);
                                            // datosEmpleadoComprobates.RemoveAt(j);
                                            j = 0;
                                            break;
                                        }

                                        else
                                        {
                                            j++;
                                        }
                                    }
                                }
                            }
                        }
                    }

                    if (listCFDIEmpleadosTimbrados.Count() > 0)
                    {
                        listCFDIEmpleados.AddRange(listCFDIEmpleadosTimbrados);
                        //                    Utilerias.ordena(listCFDIEmpleados, uuidCxn);
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }


            return(listCFDIEmpleados);
        }
        public List <CFDIEmpleado> generaDatosATimbrar(List <DatosParaTimbrar> datosParaTimbrados, PeriodosNomina periodoNomina, TipoNomina nomina, TipoCorrida tipoCorrida, DateTime fechaActual, RazonesSociales razonesSocialesActual)
        {
            if (datosParaTimbrados == null)
            {
                return(null);
            }


            // camposNecesariosMsg = new StringBuilder();


            int                 i;
            CFDIEmpleado        cfdiEmpleado;
            CFDIRecibo          cfdiRecibo;
            List <CFDIEmpleado> listCFDIEmpleado = new List <CFDIEmpleado>();

            for (i = 0; i < datosParaTimbrados.Count(); i++)
            {
                if (camposNecesariosMsg.Length > 0)
                {
                    camposNecesariosMsg.Remove(0, camposNecesariosMsg.Length);
                }
                cfdiEmpleado            = costruyeCFDIEmpleado(datosParaTimbrados[i].datosPorEmpleado, periodoNomina, tipoCorrida, nomina, fechaActual, razonesSocialesActual);
                cfdiRecibo              = construyeCFDIRecibo(datosParaTimbrados[i].movimientos, datosParaTimbrados[i].datosHorasExtras, datosParaTimbrados[i].datosIncapacidades, fechaActual);
                cfdiEmpleado.mensaje    = (camposNecesariosMsg.ToString());
                cfdiEmpleado.cfdiRecibo = (cfdiRecibo);

                if (camposNecesariosMsg.Length == 0)
                {
                    cfdiEmpleado.statusGeneraInfo = (true);
                }
                else
                {
                    cfdiEmpleado.statusGeneraInfo = (false);
                }
                listCFDIEmpleado.Add(cfdiEmpleado);
            }


            return(listCFDIEmpleado);
        }
Exemple #29
0
        public int Acciones(Enums.TipoAcciones accion)
        {
            var  total              = 0;
            var  correctas          = 0;
            var  tipoNomina         = new TipoNomina();
            bool seObtuvoTipoNomina = false;

            for (var i = 0; i < gr_dato.Rows.Count; i++)
            {
                var chk     = (CheckBox)gr_dato.Rows[i].FindControl("chk");
                var dataKey = gr_dato.DataKeys[i];
                if (dataKey == null)
                {
                    continue;
                }
                if (dataKey.Values == null)
                {
                    continue;
                }
                var id           = Convert.ToInt32(dataKey.Values["idSolicitud"]);
                var estadoActual = Convert.ToInt32(dataKey.Values["codigoEstado"]);
                var idCliente    = Convert.ToInt32(dataKey.Values["idCliente"]);

                //por cada seleccion de la grilla
                if (!chk.Checked)
                {
                    continue;
                }
                total++;

                //IMPORTANTE: Se ingresa solo una vez, ya que cada vez cambia el folio. para envios a facturar que no sean BCI=91
                if (Convert.ToInt32(dlCambioEstado.SelectedValue) == ESTADO_FACTURACION && idCliente != 91 && !seObtuvoTipoNomina)
                {
                    tipoNomina         = new TipoNominaBC().getTiponominaBytipo(NOMINA_FACTURACION);
                    seObtuvoTipoNomina = true;
                }
                switch (accion)
                {
                //dependiendo de la selección va al metodo que corresponda
                case Enums.TipoAcciones.Eliminar:
                    //si la eliminación se realizó correctamente aumenta la variable correctas
                    if (Eliminar(id))
                    {
                        correctas++;
                    }
                    break;

                case Enums.TipoAcciones.CambiarEstado:
                    //si el cambio de estado se realizó correctamente aumenta la variable correctas
                    if (CambioEstado(id, estadoActual, tipoNomina, idCliente))
                    {
                        correctas++;
                    }
                    break;

                case Enums.TipoAcciones.CambiarProducto:
                    actualiza_producto(id);
                    correctas++;
                    break;
                }
            }
            return(correctas);
        }