예제 #1
0
        public ResultadoBase GuardarRetencion(Prospecta 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);
                }


                ProspeccionEntity pro = ProspeccionDataAccess.ObtenerPorID(entrada.IdProspeccion);
                if (pro.pros_id == 0)
                {
                    pro.empresa_id       = em.emp_id;
                    pro.pros_caja_origen = entrada.CajaOrigen;
                    pro.pros_dotacion    = Convert.ToInt32(entrada.Dotacion);
                    pro.ejecutivo_rut    = _rut;
                    pro.oficina          = codOficina;
                    pro.pros_id          = ProspeccionDataAccess.Guardar(pro);

                    //Primera Gestion solo si es nuevo
                    GestionprospeccionEntity gst = new GestionprospeccionEntity();
                    gst.gstp_etapa         = "Prospección";
                    gst.gstp_fecha         = DateTime.Now;
                    gst.gstp_fecha_accion  = DateTime.Now;
                    gst.gstp_observaciones = "SISTEMA Gestión Inicial";
                    gst.prospecto_id       = pro.pros_id;
                    gst.ejecutivo_rut      = _rut;
                    gst.oficina            = codOficina;
                    GestionprospeccionDataAccess.Guardar(gst);
                }

                return(new ResultadoBase()
                {
                    Estado = "OK", Mensaje = "Prospección Almacenada con Éxito", Objeto = entrada
                });
            }
            catch (Exception ex)
            {
                throw new Exception("Error al Guardar Retencion", ex);
            }
        }
예제 #2
0
        /// <summary>
        /// Guarda la entidad de dominio <see cref="ProspeccionEntity"/> en la Base de Datos
        /// </summary>
        /// <author>@Charly</author>
        /// <created>12-04-2018 14:17:26</created>
        /// <param name="prospeccion">Referencia a una clase <see cref="ProspeccionEntity"/>.</param>
        /// <returns>Clave primaria resultante de la operación</returns>
        public static int Guardar(ProspeccionEntity prospeccion)
        {
            Parametros parametros = new Parametros
            {
                new Parametro("@pros_id", prospeccion.pros_id),
                new Parametro("@empresa_id", prospeccion.empresa_id),
                new Parametro("@pros_dotacion", prospeccion.pros_dotacion),
                new Parametro("@pros_caja_origen", prospeccion.pros_caja_origen),
                new Parametro("@ejecutivo_rut", prospeccion.ejecutivo_rut),
                new Parametro("@oficina", prospeccion.oficina),
            };

            return(DBHelper.InstanceCRM.ObtenerEscalar <int>("empresas.spEmp_Prospeccion_Guardar", parametros));
        }