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