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); } }
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); } }