예제 #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 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);
            }
        }