public ActionResult GET_INFO_PERSONA(string codigo)
        {
            try
            {
                Ent_Persona info = datPersona.GET_INFO_PERSONA(codigo);
                Session[_sessin_customer] = info;
                Session[_sessionPagsLiqs] = getPagsLiqs(info.Bas_id);

                return(Json(new { estado = 0, info = info }));
            }
            catch (Exception ex)
            {
                return(Json(new { estado = 2, mensaje = ex.Message }));
            }
        }
        public ActionResult GET_INFO_PERSONA_DEVOLUCION(string codigo)
        {
            try
            {
                Ent_Persona         info     = datPersona.GET_INFO_PERSONA(codigo);
                string              _mensaje = "";
                Ent_Info_Devolucion infoGeneralDevolucion = dat_dev.ListarDevolucion(Convert.ToDecimal(codigo), ref _mensaje);
                Session[_session_listDocDev_private] = infoGeneralDevolucion.documentosDev;
                //Session[_session_list_NotaCredito] = infoGeneralPedidos.notaCredito;
                //Session[_session_list_consignaciones] = infoGeneralPedidos.consignaciones;
                //Session[_session_list_saldos] = infoGeneralPedidos.saldos;

                return(Json(new { estado = 0, info = info, mensaje = _mensaje }));
            }
            catch (Exception ex)
            {
                return(Json(new { estado = 2, mensaje = ex.Message }));
            }
        }
示例#3
0
        public Ent_Persona GET_INFO_PERSONA(string codigo)
        {
            string      sqlquery = "USP_Leer_Persona_Usuario";
            Ent_Persona info     = null;

            try
            {
                using (SqlConnection cn = new SqlConnection(Ent_Conexion.conexion))
                {
                    if (cn.State == 0)
                    {
                        cn.Open();
                    }
                    using (SqlCommand cmd = new SqlCommand(sqlquery, cn))
                    {
                        cmd.CommandTimeout = 0;
                        cmd.CommandType    = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@bas_id", codigo);
                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            DataTable dt = new DataTable();
                            da.Fill(dt);
                            info = (from DataRow dr in dt.Rows
                                    select new Ent_Persona()
                            {
                                Bas_Documento = Convert.ToString(dr["Bas_Documento"]),
                                NombreCompleto = Convert.ToString(dr["NombreCompleto"]),
                                Bas_Direccion = Convert.ToString(dr["Bas_Direccion"]),
                                Bas_Telefono = Convert.ToString(dr["Bas_Telefono"]),
                                Bas_Celular = Convert.ToString(dr["Bas_Celular"]),
                                asesor = Convert.ToString(dr["asesor"]),
                                Are_Descripcion = Convert.ToString(dr["Are_Descripcion"]),
                                Ubicacion = Convert.ToString(dr["Ubicacion"]),
                                Bas_Correo = Convert.ToString(dr["Bas_Correo"]),
                                bas_agencia = Convert.ToString(dr["bas_agencia"]),
                                bas_destino = Convert.ToString(dr["bas_destino"]),
                                Bas_id = Convert.ToString(dr["bas_id"]),
                                _commission = Convert.ToDecimal(dr["Con_Fig_PorcDesc"]),
                                _taxRate = Convert.ToDecimal(dr["Con_Fig_Igv"]),
                                _commission_POS_visaUnica = Convert.ToDecimal(dr["Con_Fig_PorcDescPos"]),
                                _percepcion = Convert.ToDecimal(dr["Con_Fig_Percepcion"]),
                                Bas_Per_Tip_Id = Convert.ToString(dr["Bas_Per_Tip_Id"]),
                                _aplica_percepcion = Convert.ToBoolean(dr["aplica_percepcion"]),
                                premio = Convert.ToString(dr["Premio"]),
                                desp_cod = Convert.ToString(dr["desp_cod"]),
                                desp_des = Convert.ToString(dr["desp_des"]),
                                bas_agencia_direccion = Convert.ToString(dr["bas_agencia_direccion"]),
                                bas_referencia = Convert.ToString(dr["bas_referencia"]),
                                bas_distrito = Convert.ToString(dr["dis_descripcion"]),
                                bas_tipo_dis = Convert.ToString(dr["bas_tipo_dis"]),

                                lider_agencia = Convert.ToString(dr["lider_agencia"]),
                                lider_agencia_direccion = Convert.ToString(dr["lider_agencia_direccion"]),
                                lider_destino = Convert.ToString(dr["lider_destino"]),
                                lider_direccion = Convert.ToString(dr["lider_direccion"]),
                                lider_referencia = Convert.ToString(dr["lider_referencia"]),
                                lider_distrito = Convert.ToString(dr["lider_distrito"]),
                                bas_provincia = Convert.ToString(dr["bas_provincia"]),
                                lider_provincia = Convert.ToString(dr["lider_provincia"]),
                                lider_bas_tipo_dis = Convert.ToString(dr["lider_bas_tipo_dis"]),
                            }).FirstOrDefault();
                        }
                    }
                    if (cn != null)
                    {
                        if (cn.State == ConnectionState.Open)
                        {
                            cn.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                info = null;
            }
            return(info);
        }
        public JsonResult ConsultaReniec(string nroDocumento)
        {
            string     strJson    = "";
            JsonResult jRespuesta = null;
            var        serializer = new JavaScriptSerializer();

            strJson = datPersona.strBuscarPersona(nroDocumento);

            if (strJson != "[]")
            {
                jRespuesta = Json(serializer.Deserialize <List <Ent_Persona> >(strJson), JsonRequestBehavior.AllowGet);
            }
            else
            {
                DataTable   dt      = null;
                Ent_Persona persona = new Ent_Persona();
                ws_clientedniruc.Cons_ClienteSoapClient ws_cliente = new ws_clientedniruc.Cons_ClienteSoapClient();
                dt = ws_cliente.ws_persona_reniec(nroDocumento);
                Int32  EstadoReniec = Convert.ToInt32(dt.Rows[0]["estado"]);
                string state        = "";
                switch (EstadoReniec)
                {
                case 217:
                    state = "2";    //error de Capcha
                    break;

                case 231:
                    state = "0";    //todo bien
                    break;

                case 232:
                    state = "0";    //todo bien
                    break;

                case 222:
                    state = "1";    //no se encontre a la persona
                    break;

                default:
                    state = "3";    //Error
                    break;
                }

                string   nombres    = (dt.Rows[0]["nombres"]).ToString();
                string[] arrNombres = splitString(nombres, ' ');

                if (state == "0")
                {
                    string strDni = (dt.Rows[0]["dni"]).ToString();
                    string apepat = (dt.Rows[0]["apepat"]).ToString();

                    if (nombres != "" && apepat != "")
                    {
                        persona.Bas_Documento = (dt.Rows[0]["dni"]).ToString();

                        persona.Bas_Primer_Nombre    = arrNombres[0].ToString();
                        persona.Bas_Primer_Apellido  = (dt.Rows[0]["apepat"]).ToString();
                        persona.Bas_Segundo_Apellido = (dt.Rows[0]["apemat"]).ToString();
                        if (arrNombres.Length > 1)
                        {
                            persona.Bas_segundo_nombre = arrNombres[1].ToString();
                        }

                        state = "3";
                    }
                    persona.Estado = state;
                    persona.Bas_id = "0";
                }
                List <Ent_Persona> list = new List <Ent_Persona>();
                list.Add(persona);
                jRespuesta = Json(list, JsonRequestBehavior.AllowGet);
            }

            return(jRespuesta);
        }
        public ActionResult GuardarCruce()
        {
            #region <REGION DE VALIDACIONES>

            string _mensaje = "";
            int    estado   = 1;
            if (Session[_sessionPagsLiqs] == null)
            {
                List <Ent_Pag_Liq> listPed = new List <Ent_Pag_Liq>();
                Session[_sessionPagsLiqs] = listPed;
            }

            Ent_Persona cust = (Ent_Persona)Session[_sessin_customer];

            List <Ent_Pag_Liq> list = (List <Ent_Pag_Liq>)Session[_sessionPagsLiqs];
            list = list.Where(w => w.checks).ToList();

            int       countLiqSel = list.Where(w => w.dtv_concept_id == "LIQUIDACIONES").Count();
            int       countPagSel = list.Where(w => w.dtv_concept_id == "PAGOS").Count();
            DataTable dtpagos     = new DataTable();
            dtpagos.Columns.Add("Doc_Tra_Id", typeof(string));

            if (list.Count == 0)
            {
                _mensaje = "No ha seleccionado ningun item.";
                return(Json(new { estado = estado, mensaje = _mensaje }));
            }
            if (countLiqSel > 1)
            {
                _mensaje = "No se puede realizar cruce de pagos con 2 o más Pedidos, por favor seleccione solo 1 pedido.";
                return(Json(new { estado = estado, mensaje = _mensaje }));
            }
            if (countLiqSel == 0)
            {
                _mensaje = "no ha seleccionado ningun pedido para cruzar el pago";
                return(Json(new { estado = estado, mensaje = _mensaje }));
            }
            if (countPagSel > 1)
            {
                decimal _sum_pag = 0;
                decimal _liq_val = list.Where(w => w.dtv_concept_id == "LIQUIDACIONES").Select(s => s.val).FirstOrDefault();
                Int32   _limite  = 0;
                foreach (Ent_Pag_Liq item in list.OrderByDescending(o => o.val))
                {
                    if (item.dtv_concept_id == "PAGOS")
                    {
                        _sum_pag += item.val;
                        if (_sum_pag > _liq_val)
                        {
                            if (_limite == 0)
                            {
                                _limite = 1;
                            }
                            else
                            {
                                _mensaje = "por favor solo seleccione el pago necesario para pagar su pedido";
                                return(Json(new { estado = estado, mensaje = _mensaje }));
                            }
                        }
                    }
                }
            }
            #endregion

            if (countLiqSel > 0 && countPagSel > 0)
            {
                string listLiq = list.Where(w => w.dtv_concept_id == "LIQUIDACIONES").Select(s => s.dtv_transdoc_id).FirstOrDefault();
                try
                {
                    string vrefnc     = "";
                    string vreffec    = "";
                    string _validaref = string.Empty;

                    _validaref = datFinanciera.setvalidaclear(listLiq, ref vrefnc, ref vreffec);
                    if (!(string.IsNullOrEmpty(_validaref)))
                    {
                        _mensaje = "No se puede realizar cruce de pagos; porque la fecha de referencia de la nota de credito N " + vrefnc +
                                   " pertenece a otro mes con fecha " + vreffec + "  ,por favor anule este pedido y vuelva a generar otro pedido";
                        return(Json(new { estado = estado, mensaje = _mensaje }));
                    }
                    foreach (Ent_Pag_Liq item in list.Where(w => w.dtv_concept_id == "PAGOS"))
                    {
                        dtpagos.Rows.Add(item.dtv_transdoc_id);
                    }

                    string strIdPromotor = cust.Bas_id;

                    string str_mensaje = "";

                    string clear = datFinanciera.setPreClear(listLiq, dtpagos, ref str_mensaje);

                    if (!String.IsNullOrEmpty(clear))
                    {
                        string[] prems      = clear.Split('|');
                        string   strpremio  = prems[1].ToString();
                        string   strpremio2 = prems[2].ToString();
                        //string strmensaje = "";
                        string strmensajePremio = "";

                        if (strpremio != "N" && strpremio != "0")
                        {
                            // string strIdLiquidacion = datFinanciera.setCrearLiquidacionPremio(Convert.ToInt32(strIdPromotor), Convert.ToInt32(strpremio), "C");
                            // strmensajePremio = "Premio generado en el pedido:" + strIdLiquidacion + " ";
                        }

                        if (strpremio2 != "N" && strpremio2 != "0")
                        {
                            //string strIdLiquidacion = datFinanciera.setCrearLiquidacionPremio(Convert.ToInt32(strIdPromotor), Convert.ToInt32(strpremio2), "P");
                            string cadena = "";
                            if (strmensajePremio != "")
                            {
                                cadena = "y";
                            }

                            // strmensajePremio = strmensajePremio + " " + cadena + " en el pedido:" + strIdLiquidacion + " ";
                        }

                        if (strmensajePremio != "")
                        {
                            strmensajePremio = " ( " + strmensajePremio + " ) ";
                        }

                        _mensaje = str_mensaje; //"El cruce de información fue grabado correctamente " + strmensajePremio + ", su pedido sera enviado  marcación y posterior facturación; número del cruce: " + prems[0].ToString() + strmensaje;
                        estado   = 0;
                    }
                }
                catch (Exception ex)
                {
                    _mensaje = ex.Message;
                }
            }
            if (estado == 0)
            {
                Session[_sessionPagsLiqs] = getPagsLiqs(cust.Bas_id);
            }

            return(Json(new { estado = estado, mensaje = _mensaje }));
        }
        public ActionResult valida_cruce()
        {
            #region <REGION DE VALIDACIONES>

            string _mensaje = "";
            int    estado   = 0;
            if (Session[_sessionPagsLiqs] == null)
            {
                List <Ent_Pag_Liq> listPed = new List <Ent_Pag_Liq>();
                Session[_sessionPagsLiqs] = listPed;
            }

            Ent_Persona cust = (Ent_Persona)Session[_sessin_customer];

            List <Ent_Pag_Liq> list = (List <Ent_Pag_Liq>)Session[_sessionPagsLiqs];
            list = list.Where(w => w.checks).ToList();

            int       countLiqSel = list.Where(w => w.dtv_concept_id == "LIQUIDACIONES").Count();
            int       countPagSel = list.Where(w => w.dtv_concept_id == "PAGOS").Count();
            DataTable dtpagos     = new DataTable();
            dtpagos.Columns.Add("Doc_Tra_Id", typeof(string));

            if (list.Count == 0)
            {
                estado   = 1;
                _mensaje = "No ha seleccionado ningun item.";
                return(Json(new { estado = estado, mensaje = _mensaje }));
            }
            if (countLiqSel > 1)
            {
                estado   = 1;
                _mensaje = "No se puede realizar cruce de pagos con 2 o más Pedidos, por favor seleccione solo 1 pedido.";
                return(Json(new { estado = estado, mensaje = _mensaje }));
            }
            if (countLiqSel == 0)
            {
                estado   = 1;
                _mensaje = "no ha seleccionado ningun pedido para cruzar el pago";
                return(Json(new { estado = estado, mensaje = _mensaje }));
            }
            if (countPagSel > 1)
            {
                decimal _sum_pag = 0;
                decimal _liq_val = list.Where(w => w.dtv_concept_id == "LIQUIDACIONES").Select(s => s.val).FirstOrDefault();
                Int32   _limite  = 0;
                foreach (Ent_Pag_Liq item in list.OrderByDescending(o => o.val))
                {
                    if (item.dtv_concept_id == "PAGOS")
                    {
                        _sum_pag += item.val;
                        if (_sum_pag > _liq_val)
                        {
                            if (_limite == 0)
                            {
                                _limite = 1;
                            }
                            else
                            {
                                estado   = 1;
                                _mensaje = "por favor solo seleccione el pago necesario para pagar su pedido";
                                return(Json(new { estado = estado, mensaje = _mensaje }));
                            }
                        }
                    }
                }
            }
            return(Json(new { estado = estado, mensaje = _mensaje }));

            #endregion
        }