コード例 #1
0
        public ResultadoBase GuardarGestionRetencion(GestionRetiene entrada)
        {
            try
            {
                string            token      = ActionContext.Request.Headers.GetValues("Token").First();
                int               _uid       = Security.Data.TokenDataAccess.Obtener(token).FirstOrDefault().UserId;
                string            _rut       = Security.Data.UsuarioDataAccess.UsuarioData(_uid).RutUsuario;
                CookieHeaderValue cookie     = Request.Headers.GetCookies("Oficina").FirstOrDefault();
                int               codOficina = Convert.ToInt32(cookie.Cookies.FirstOrDefault(s => s.Name == "Oficina").Value);

                GestionretencionEntity gst = new GestionretencionEntity();
                gst.ejecutivo_rut      = _rut;
                gst.oficina            = codOficina;
                gst.retencion_id       = entrada.IdRetencion;
                gst.gstr_etapa         = entrada.Etapa;
                gst.gstr_fecha         = Convert.ToDateTime(entrada.Fecha);
                gst.gstr_fecha_accion  = DateTime.Now;
                gst.gstr_observaciones = entrada.Observaciones;

                GestionretencionDataAccess.Guardar(gst);

                return(new ResultadoBase()
                {
                    Estado = "OK", Mensaje = "Gestión Almacenada con Éxito", Objeto = entrada
                });
            }
            catch (Exception ex)
            {
                throw new Exception("Error al Guardar Retencion", ex);
            }
        }
コード例 #2
0
        public RetieneContainer DataRetencion(int id)
        {
            RetieneContainer salida = new RetieneContainer();

            salida.Retencion     = RetencionDataAccess.ObtenerPorID(id);
            salida.Empresa       = EmpresaDataAccess.ObtenerPorID(salida.Retencion.empresa_id);
            salida.Gestiones     = GestionretencionDataAccess.ObtenerEntidades().FindAll(g => g.retencion_id == id);
            salida.UltimaGestion = GestionretencionDataAccess.ObtenerEntidades().FindAll(g => g.retencion_id == id).OrderByDescending(d => d.gstr_fecha_accion).FirstOrDefault();
            List <AmbitosContainer <AmbitosretencionEntity> > ambits = new List <AmbitosContainer <AmbitosretencionEntity> >();

            AmbitosretencionDataAccess.ObtenerEntidades().FindAll(d => d.retencion_id == salida.Retencion.ret_id).ForEach(amf => {
                AmbitosContainer <AmbitosretencionEntity> saf = new AmbitosContainer <AmbitosretencionEntity>();
                saf.AmbitoFinal = amf;
                saf.AmbitoArea  = AmbitosareaDataAccess.ObtenerPorID(amf.ambito_id);
                saf.Area        = AreasDataAccess.ObtenerPorID(saf.AmbitoArea.area_id);
                ambits.Add(saf);
            });

            salida.Ambitos = ambits;

            return(salida);
        }
コード例 #3
0
        public ResultadoBase GuardarRetencion(Retiene entrada)
        {
            try
            {
                string            token      = ActionContext.Request.Headers.GetValues("Token").First();
                int               _uid       = Security.Data.TokenDataAccess.Obtener(token).FirstOrDefault().UserId;
                string            _rut       = Security.Data.UsuarioDataAccess.UsuarioData(_uid).RutUsuario;
                CookieHeaderValue cookie     = Request.Headers.GetCookies("Oficina").FirstOrDefault();
                int               codOficina = Convert.ToInt32(cookie.Cookies.FirstOrDefault(s => s.Name == "Oficina").Value);



                EmpresaEntity em = EmpresaDataAccess.ObtenerEntidades().Find(emp => emp.emp_rut == entrada.Rut.Replace(".", ""));
                if (em == null)
                {
                    em             = new EmpresaEntity();
                    em.emp_rut     = entrada.Rut.Replace(".", "");
                    em.emp_nombre  = entrada.Nombre;
                    em.emp_holding = entrada.Holding;
                    em.emp_id      = EmpresaDataAccess.Guardar(em);
                }


                RetencionEntity rt = RetencionDataAccess.ObtenerPorID(entrada.IdRetencion);
                if (rt.ret_id == 0)
                {
                    rt.empresa_id       = em.emp_id;
                    rt.ret_caja_destino = entrada.CajaDestino;
                    rt.ret_dotacion     = Convert.ToInt32(entrada.Dotacion);
                    rt.ret_estamento    = entrada.Estamento;
                    rt.ret_segmento     = entrada.Segmento;
                    rt.ejecutivo_rut    = _rut;
                    rt.oficina          = codOficina;
                    rt.ret_id           = RetencionDataAccess.Guardar(rt);

                    //Primera Gestion solo si es nuevo
                    GestionretencionEntity gst = new GestionretencionEntity();
                    gst.gstr_etapa         = "Estudio Cajas";
                    gst.gstr_fecha         = DateTime.Now;
                    gst.gstr_fecha_accion  = DateTime.Now;
                    gst.gstr_observaciones = "SISTEMA Gestion Inicial";
                    gst.retencion_id       = rt.ret_id;
                    gst.ejecutivo_rut      = _rut;
                    gst.oficina            = codOficina;
                    GestionretencionDataAccess.Guardar(gst);
                }


                if (entrada.Ambitos.Count > 0)
                {
                    AmbitosretencionDataAccess.EliminarByRetencion(rt.ret_id);
                    entrada.Ambitos.ForEach(amb =>
                    {
                        AmbitosretencionEntity _amb = new AmbitosretencionEntity();
                        _amb.ambito_id    = Convert.ToInt32(amb.valor);
                        _amb.retencion_id = rt.ret_id;
                        AmbitosretencionDataAccess.Guardar(_amb);
                    });
                }



                return(new ResultadoBase()
                {
                    Estado = "OK", Mensaje = "Retención Almacenada con Éxito", Objeto = entrada
                });
            }
            catch (Exception ex)
            {
                throw new Exception("Error al Guardar Retencion", ex);
            }
        }
コード例 #4
0
        public BootstrapTableResult <RetieneContainer> ListadoRetencion(string sort = "Empresa.emp_rut", string order = "asc", int limit = 30, int offset = 0, string search = "")
        {
            CookieHeaderValue cookie = Request.Headers.GetCookies("Oficina").FirstOrDefault();
            int codOficina           = Convert.ToInt32(cookie.Cookies.FirstOrDefault(s => s.Name == "Oficina").Value);

            List <RetieneContainer> salida = new List <RetieneContainer>();
            BootstrapTableResult <RetieneContainer> salida_final = new BootstrapTableResult <RetieneContainer>();

            RetencionDataAccess.ObtenerEntidades().FindAll(x => x.oficina == codOficina).ForEach(ret => {
                RetieneContainer container = new RetieneContainer();
                container.Retencion        = ret;
                container.Gestiones        = GestionretencionDataAccess.ObtenerEntidades().FindAll(g => g.retencion_id == ret.ret_id);
                container.UltimaGestion    = GestionretencionDataAccess.ObtenerEntidades().FindAll(g => g.retencion_id == ret.ret_id).OrderByDescending(d => d.gstr_fecha_accion).FirstOrDefault();
                container.Empresa          = EmpresaDataAccess.ObtenerPorID(ret.empresa_id);
                List <AmbitosContainer <AmbitosretencionEntity> > ambits = new List <AmbitosContainer <AmbitosretencionEntity> >();
                AmbitosretencionDataAccess.ObtenerEntidades().FindAll(d => d.retencion_id == ret.ret_id).ForEach(amf => {
                    AmbitosContainer <AmbitosretencionEntity> saf = new AmbitosContainer <AmbitosretencionEntity>();
                    saf.AmbitoFinal = amf;
                    saf.AmbitoArea  = AmbitosareaDataAccess.ObtenerPorID(amf.ambito_id);
                    saf.Area        = AreasDataAccess.ObtenerPorID(saf.AmbitoArea.area_id);
                    ambits.Add(saf);
                });
                container.Ambitos = ambits;
                salida.Add(container);
            });

            if (!string.IsNullOrEmpty(search))
            {
                salida = salida.FindAll(s => s.Empresa.emp_nombre.ToLower().Contains(search.ToLower()) ||
                                        s.Empresa.emp_rut.ToLower().Contains(search.ToLower().Replace(".", "")) ||
                                        s.Empresa.emp_holding.ToLower().Contains(search.ToLower())
                                        ).ToList();
            }

            switch (order)
            {
            case "asc":
                switch (sort)
                {
                case "Empresa.emp_rut":
                    salida = salida.OrderBy(o => o.Empresa.emp_rut).ToList();
                    break;

                case "Empresa.emp_nombre":
                    salida = salida.OrderBy(o => o.Empresa.emp_nombre).ToList();
                    break;

                case "Empresa.emp_holding":
                    salida = salida.OrderBy(o => o.Empresa.emp_holding).ToList();
                    break;

                case "Retencion.ret_estamento":
                    salida = salida.OrderBy(o => o.Retencion.ret_estamento).ToList();
                    break;

                case "Retencion.ret_caja_destino":
                    salida = salida.OrderBy(o => o.Retencion.ret_caja_destino).ToList();
                    break;
                }
                break;

            case "desc":
                switch (sort)
                {
                case "Empresa.emp_rut":
                    salida = salida.OrderByDescending(o => o.Empresa.emp_rut).ToList();
                    break;

                case "Empresa.emp_nombre":
                    salida = salida.OrderByDescending(o => o.Empresa.emp_nombre).ToList();
                    break;

                case "Empresa.emp_holding":
                    salida = salida.OrderByDescending(o => o.Empresa.emp_holding).ToList();
                    break;

                case "Retencion.ret_estamento":
                    salida = salida.OrderByDescending(o => o.Retencion.ret_estamento).ToList();
                    break;

                case "Retencion.ret_caja_destino":
                    salida = salida.OrderByDescending(o => o.Retencion.ret_caja_destino).ToList();
                    break;
                }
                break;
            }

            salida_final.total = salida.Count;
            salida_final.rows  = salida.Skip(offset).Take(limit).ToList();
            return(salida_final);
        }