示例#1
0
        public TOTransaction <PqInpqrSalida> PostPqr(PqInpqr pqr)
        {
            DAOGnArbol daoArbol = new DAOGnArbol();
            DAOGnItems daoItems = new DAOGnItems();
            BOGnRadju  boRdju   = new BOGnRadju();
            DAOGnParam daoParam = new DAOGnParam();

            try
            {
                if (pqr.inp_tcli != "F")
                {
                    pqr.inp_tcli = "O";
                }
                string emp_codi = new tools.General().GetEmpCodi(pqr.emp_codi).ToString();
                if (pqr.inp_tcli == "F")
                {
                    var thirdPartie = DAOGnTerce.GetGnTerce(int.Parse(emp_codi), pqr.inp_nide);
                    if (thirdPartie == null)
                    {
                        throw new Exception(string.Format("No se encontró tercero asociado a la identificación {0}", pqr.inp_nide));
                    }
                    pqr.ter_codi = thirdPartie.ter_codi;
                }
                GnParam param       = daoParam.GetGnParam(int.Parse(emp_codi));
                string  typeRequest = daoItems.GetGnItems(327, "").Where(i => i.ite_cont == pqr.ite_tpqr).FirstOrDefault().ite_nomb;
                if (string.IsNullOrEmpty(emp_codi))
                {
                    throw new Exception("Código de empresa no parametrizado en api.");
                }
                mailHandler.uploadFile();
                pqr.emp_codi = int.Parse(emp_codi);
                pqr.inp_cont = daoPqr.GetCont("PQ_INPQR", "INP_CONT");
                if (string.IsNullOrEmpty(pqr.arb_sucu))
                {
                    pqr.arb_sucu = "0";
                }
                pqr.arb_sucu = daoArbol.GetGnArbol("2", pqr.arb_sucu, int.Parse(emp_codi))[0].arb_cont.ToString();

                List <GnItem> data = daoItems.GetGnItems(326, "3");

                if (data.Count > 0)
                {
                    pqr.ite_frec = data[0].ite_cont.ToString();
                }
                else
                {
                    pqr.ite_frec = "0";
                }

                pqr.arb_cecr = daoArbol.GetGnArbol("3", "0", int.Parse(emp_codi))[0].arb_cont.ToString();
                if (pqr.pai_codi == param.pai_codi)
                {
                    //Cuando se selecciona el país de instalación el municipio contiene también la región separada por -
                    int mun_codi = int.Parse(pqr.mun_codi.Split('-')[0]);
                    pqr.reg_codi = int.Parse(pqr.mun_codi.Split('-')[1]);
                    pqr.mun_codi = mun_codi.ToString();
                }
                else
                {
                    pqr.reg_codi = 0;
                    pqr.mun_codi = "0";
                }


                insertPqr(pqr, typeRequest);

                string cas_cont = mailHandler.createWorkFlow(pqr, typeRequest);
                if (cas_cont.AsInt() > 0)
                {
                    daoPqr.updatePqr(pqr.inp_cont, cas_cont);
                }
                string msg = mailHandler.GetDescriptionPqrMessage(pqr);

                return(new TOTransaction <PqInpqrSalida>()
                {
                    objTransaction = new PqInpqrSalida()
                    {
                        inp_cont = pqr.inp_cont, msg = msg
                    }, retorno = 0, txtRetorno = ""
                });
            }
            catch (Exception ex)
            {
                if (pqr.inp_cont > 0)
                {
                    daoPqr.deletePqr(pqr.inp_cont);
                }
                return(new TOTransaction <PqInpqrSalida>()
                {
                    objTransaction = null, retorno = 1, txtRetorno = ex.Message
                });
            }
        }
示例#2
0
        public TOTransaction Post()
        {
            BOGnRadju boRadju     = new BOGnRadju();
            var       httpRequest = HttpContext.Current.Request;
            int       emp_codi    = 0;
            int       inp_cont    = 0;

            try
            {
                if (httpRequest.Files.Count == 0)
                {
                    throw new Exception("No se recibió ningún adjunto. Contacte con su administrador del sistema");
                }


                foreach (string file in httpRequest.Files)
                {
                    var postedFile = httpRequest.Files[file];

                    emp_codi = int.Parse(httpRequest.Form["EMP_CODI"]);
                    emp_codi = new tools.General().GetEmpCodi(emp_codi);

                    inp_cont = int.Parse(httpRequest.Form["INP_CONT"]);
                    PqInpqr pqr = new DAOPqInpqr().getPqInPqr(inp_cont, emp_codi).FirstOrDefault();
                    if (pqr == null)
                    {
                        throw new Exception("Registro no encontrado");
                    }
                    // var filePath = HttpContext.Current.Server.MapPath("~/Upload/" + postedFile.FileName);
                    string key = string.Concat(emp_codi, inp_cont);
                    //Sube archivo a documentos
                    var saveAttchment = boRadju.insertGnRadju((short)emp_codi, key, "PQ_INPQR", "SPQINPQR", inp_cont, postedFile, "S");
                    if (!saveAttchment.Item1)
                    {
                        throw new Exception(string.Format("Error insertando adjunto en documentos {0}", saveAttchment.Item2));
                    }

                    //Sube archivo a workflow
                    saveAttchment = boRadju.insertGnRadju((short)emp_codi, key, "PQ_INPQR", "SPQINPQR", pqr.cas_cont, postedFile, "W");
                    if (!saveAttchment.Item1)
                    {
                        throw new Exception(string.Format("Error insertando adjunto en flujo {0}", saveAttchment.Item2));
                    }
                }
            }
            catch (Exception ex)
            {
                DAOPqInpqr daoPqr = new DAOPqInpqr();
                daoPqr.deletePqr(inp_cont);
                return(new TOTransaction()
                {
                    retorno = 1, txtRetorno = ex.Message
                });
            }


            return(new TOTransaction()
            {
                retorno = 0, txtRetorno = ""
            });
        }