public TOTransaction <Models.TOPqInpqr> SetPqInpqr(DTOEntities.TOPqInpqr toPqInpqr) { DTOEntities.TSalida salida = new DTOEntities.TSalida(); try { Models.TOPqInpqr pqr = new Models.TOPqInpqr(); var ite_cont = ConfigurationManager.AppSettings["ReciboPQR"].ToString(); if (ite_cont != null) { toPqInpqr.ite_frec = int.Parse(ite_cont); } toPqInpqr.inp_esta = "A"; toPqInpqr.arb_csuc = "0"; toPqInpqr.inp_tcli = "S"; if (string.IsNullOrEmpty(toPqInpqr.arb_ccec)) { throw new Exception("Debe diligeciar el campo ambiente"); } salida = comPqInpqr.CrearPqInpqr(toPqInpqr); //crear WorkFlow var wf = boWfRflup.CrearCasoWorkFlow(toPqInpqr.emp_codi, salida.retorno); pqr.inp_cont = salida.retorno; //Se modifica para que retorne un Transaction acorde a la nueva app de reservas return(new TOTransaction <Models.TOPqInpqr>() { ObjTransaction = pqr, Retorno = 0, TxtError = "" }); } catch (Exception ex) { salida.retorno = 0; salida.Txterror = ex.Message; var wf = boWfRflup.CrearCasoWorkFlow(toPqInpqr.emp_codi, salida.retorno); return(new TOTransaction <Models.TOPqInpqr>() { ObjTransaction = null, Retorno = 1, TxtError = ex.Message }); } }
public TSalida SetInvitado(TOInvitado invitado) { try { //DateTime now = DateTime.Now.Date; //invitado.Emp_Codi = emp_codi; //StringBuilder validaciones = new StringBuilder(); //if (invitado.Fecha.Date < now) //{ // validaciones.AppendLine("La fecha de invitación no debe ser menor a la fecha actual"); //} //if (invitado.Nombre.Trim().Equals(string.Empty)) //{ // validaciones.AppendLine("Los nombres del invitado son obligatorios"); //} //if (invitado.Apellido.Trim().Equals(string.Empty)) //{ // validaciones.AppendLine("Los apellidos del invitado son obligatorios"); //} //if (validaciones.Length > 0) //{ // return new DTOEntities.TSalida(validaciones.ToString(), 0); //} // return comInvitado.CrearTSoSocio(invitado); var salida = new DTOEntities.TSalida(); salida.Txterror = "Esta funcionaldad se encuentra deshabilitada. Por favor , actualice la aplicación!"; salida.retorno = 0; return(salida); } catch (Exception ex) { var salida = new DTOEntities.TSalida(); salida.Txterror = ex.Message; salida.retorno = 0; return(salida); } }
public TOTransaction CrearReserva(TOAeReser reserva) { try { /*revisamos si hay plazo disponible para poder generar la reserva con el campo CLA_TICA de la clase*/ TOAeClase clase = daoClase.GetAeClaseByClaCont(reserva.Emp_codi, reserva.Cla_cont); if (clase != null && clase.Cla_Fchr != null && reserva.Res_fini.Date > clase.Cla_Fchr.Value.Date) { throw new Exception("FECHA LÍMITE RESERVA: " + clase.Cla_Fchr.Value.ToString("yyyy-MM-dd")); } var ite_cont = ConfigurationManager.AppSettings["MedioReserva"].ToString(); if (ite_cont != null) { reserva.Ite_cont = int.Parse(ite_cont); } //consultar si el tercero ya tiene reserva a esa misma hora if (reserva.Esp_mdit == "S") { int cantidadReserva = daoAgenda.GetReservaTercero(reserva.Emp_codi, (int)reserva.Ter_codi, reserva.Productos[0].Pro_cont, reserva.Res_fini, reserva.Res_fina); if (cantidadReserva != 0) { throw new Exception("El tercero tiene una reserva activa para esta hora"); } } int CantEspacios = daoAgenda.CantidadHorarios(reserva.Emp_codi, reserva.Cla_cont, reserva.Res_fini.Year, reserva.Res_fini.Month, reserva.Res_fini.Day, (float)reserva.Ter_codi, reserva.Productos[0].Pro_cont, reserva.Esp_mdit, ""); List <TOOcupado> intervalosNoDisponiblesOcupados = daoAgenda.GetOcupadosDipo(reserva.Emp_codi, reserva.Cla_cont, reserva.Res_fini.Year, reserva.Res_fini.Month, reserva.Res_fini.Day, reserva.Esp_mdit, -1, reserva.Productos[0].Pro_cont, "", (float)reserva.Ter_codi); DTOEntities.TSalida salida = boAgenda.ValidarDisponibilidadHorario(reserva.Res_fini, reserva.Res_fina, reserva.Cla_cont, (float)reserva.Ter_codi, reserva.Productos[0].Pro_cont, reserva.Esp_mdit, "", CantEspacios, intervalosNoDisponiblesOcupados); if (salida.retorno == 0) { throw new Exception(salida.Txterror); } if (reserva.Esp_cont == 0) { int esp_cont = 0; if (reserva.Esp_mdit == "S") { //revisamos los espacios que tiene disponible el tercero y verificamos cuales tienen disponibilidad (disponiblilidad de rango) //no incluye las reservas //daoAgenda.GetEspSinReservaTercero(reserva.Emp_codi, reserva.Res_fini.Year, reserva.Res_fini.Month, reserva.Res_fini.Day, reserva.Cla_cont, reserva.Productos[0].Pro_cont, out esp_cont, reserva.Res_fini, reserva.Res_fina, reserva.Esp_mdit, reserva.Ter_codi); //esp_cont = daoAgenda.GetEspSinReservaTercero(reserva.Emp_codi, reserva.Res_fini.Year, reserva.Res_fini.Month, reserva.Res_fini.Day, reserva.Cla_cont, reserva.Productos[0].Pro_cont, reserva.Res_fini, reserva.Res_fina, (int)reserva.Ter_codi); } else { esp_cont = daoAgenda.GetEspSinReserva(reserva.Emp_codi, reserva.Res_fini.Year, reserva.Res_fini.Month, reserva.Res_fini.Day, reserva.Cla_cont, reserva.Productos[0].Pro_cont, reserva.Res_fini, reserva.Res_fina); if (esp_cont == 0) { throw new Exception("Este horario ya no se encuentra disponible"); } } reserva.Esp_cont = esp_cont; } return(comReserva.CrearReserva(reserva)); } catch (Exception ex) { return(new TOTransaction() { InvoiceId = 0, Retorno = 1, TxtError = ex.Message }); } }