Beispiel #1
0
        /// <summary>
        /// Asigna los conceptos marcados como ByDefault al empleado
        /// </summary>
        /// <param name="idSucursal"></param>
        /// <param name="idEmpleado"></param>
        /// <returns></returns>
        public static bool AsignarConceptosDefaultByEmpleado(int idSucursal, int idEmpleado)
        {
            RHEntities _ctx = new RHEntities();

            //Obtener los conceptos By Default
            var listaConceptos = _ctx.C_NOM_Conceptos.Where(x => x.AsignadoByDefault == true).ToList();

            //Validacion
            if (listaConceptos.Count <= 0)
            {
                return(false);
            }

            //por cada concepto se agrega un registro en la tabla de configuracion
            foreach (var itemLista in listaConceptos)
            {
                var itemExiste =
                    _ctx.NOM_Empleado_Conceptos.FirstOrDefault(x => x.IdEmpleado == idEmpleado && x.IdSucursal == idSucursal &&
                                                               x.IdConcepto == itemLista.IdConcepto);

                if (itemExiste != null)
                {
                    continue;
                }

                NOM_Empleado_Conceptos item = new NOM_Empleado_Conceptos()
                {
                    IdEmpleado  = idEmpleado,
                    IdConcepto  = itemLista.IdConcepto,
                    IdSucursal  = idSucursal,
                    Fiscal      = itemLista.FormulaFiscal,
                    Complemento = itemLista.FormulaComplemento
                };
                _ctx.NOM_Empleado_Conceptos.Add(item);
            }

            _ctx.SaveChanges();

            return(true);
        }
Beispiel #2
0
        public bool GuardarRegistroConcepto_Empleado(int[] arrayC, List <ConceptoEmpleado> arrayE, int idsucursal)
        {
            if (arrayE == null)
            {
                return(false);
            }

            var longitudC = arrayC.Length;

            foreach (var c in arrayC)
            {
                foreach (var e in arrayE)
                {
                    // busca que exista el registro
                    var busqueda = ctx.NOM_Empleado_Conceptos.Where(x => x.IdConcepto == c && x.IdEmpleado == e.ide).FirstOrDefault();

                    //si checkvalue existe
                    if (e.checkvalue == true)
                    {
                        if (busqueda == null)
                        {
                            //insertamos registro
                            var item = new NOM_Empleado_Conceptos
                            {
                                IdConcepto = c,
                                IdEmpleado = e.ide,

                                IdSucursal  = idsucursal,
                                Fiscal      = e.isFiscal,
                                Complemento = e.isComplemento
                            };
                            ctx.NOM_Empleado_Conceptos.Add(item);
                            var t = ctx.SaveChanges();
                        }
                        else
                        {
                            //insertamos registro
                            var item = ctx.NOM_Empleado_Conceptos.Where(x => x.IdConcepto == c && x.IdEmpleado == e.ide).FirstOrDefault();
                            {
                                item.IdConcepto = c;
                                item.IdEmpleado = e.ide;

                                item.IdSucursal  = idsucursal;
                                item.Fiscal      = e.isFiscal;
                                item.Complemento = e.isComplemento;
                            };

                            var t = ctx.SaveChanges();
                        }
                    }
                    else
                    {
                        //si checkvalue es igual false
                        if (busqueda != null)
                        {
                            //borrar regristo
                            if (longitudC == 1)
                            {
                                const string sqlQuery = "DELETE NOM_Empleado_Conceptos WHERE IdConfiguracion = @p0";
                                ctx.Database.ExecuteSqlCommand(sqlQuery, busqueda.IdConfiguracion);
                            }
                        }
                    }
                }
            }
            return(true);
        }