예제 #1
0
파일: BOPqInpqr.cs 프로젝트: omespef1/API
        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
                });
            }
        }
예제 #2
0
파일: BOInvitados.cs 프로젝트: omespef1/API
 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);
     }
 }
예제 #3
0
        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
                });
            }
        }