/// <summary>
        /// Configura o Model Sessão para carregar os dados do Recibo
        /// </summary>
        /// <param name="modelRetorno"></param>
        /// <returns></returns>
        private ReciboModel ConfiguraRecibo(SessaoModel modelRetorno)
        {
            var recibo = new ReciboModel();

            recibo = new ReciboModel
            {
                IdSessao         = modelRetorno.Id,
                Paciente         = modelRetorno.Paciente.Pessoa.Nome,
                CpfPaciente      = modelRetorno.Paciente.Pessoa.Cpf,
                Profissional     = modelRetorno.Funcionario.Pessoa.Nome,
                Data             = modelRetorno.Data,
                Valor            = modelRetorno.Valor.ToString("C"),
                ModalidadeSessao = modelRetorno.Modalidade.Nome
            };

            return(recibo);
        }
Beispiel #2
0
 public IActionResult Post([FromBody] ReciboModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             Guid savedId = RecibosHandler.Save(model.GetBusinessObject());
             return(new ObjectResult(savedId));
         }
         return(new ObjectResult(Guid.NewGuid()));
     }
     catch (Exception ex)
     {
         Log.Error(null, ex);
         throw ex;
     }
 }
Beispiel #3
0
        public string Put(Guid id, [FromBody] ReciboModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var reciboBo = model.GetBusinessObject();
                    RecibosHandler.SaveChildren(reciboBo.Items);
                    RecibosHandler.Update(id, reciboBo);

                    return(string.Format("Producto guardado exitosamente."));
                }
                return(string.Format("Lo sentimos, el producto no se pudo guardar, le pedimos revise los datos ingresados."));
            }
            catch (Exception ex)
            {
                Log.Error(null, ex);
                throw ex;
            }
        }
Beispiel #4
0
        public IHttpActionResult anular_recibo([FromBody] ReciboModel reciboData)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                WSLibreria.WSLibreria ws = new WSLibreria.WSLibreria();
                string resp = ws.cancelSalesOrder(reciboData.recibo);

                if (resp != "correcto")
                {
                    throw new Exception(resp);
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public ActionResult Crear(ReservaModel reservamodel, string[] butacas)
        {
            bool error = false;

            if (!reservamodel.PermiteEnEfectivo && String.IsNullOrWhiteSpace(reservamodel.TarjetaCredito))
            {
                ModelState.AddModelError("", "No se ha especificado un número de tarjeta de crédito.");
                error = true;
            }
            if (butacas == null || butacas.Length == 0)
            {
                ModelState.AddModelError("", "No se han seleccionado butacas.");
                error = true;
            }

            if (error)
            {
                return(fillModelFor(reservamodel, reservamodel.Sesion.Id));
            }

            // Aquí se debería validar la tarjeta de crédito
            List <Reserva> reservas = new List <Reserva>();

            for (int i = 0; i < butacas.Length; i++)
            {
                String[] butaca = butacas[i].Split(':');

                // Buscamos el usuario
                Usuario user = db.UsuarioConjunto.FirstOrDefault(x => x.Login.Equals(User.Identity.Name));

                //Buscamos la sesion completa
                Sesion sesion = db.SesionConjunto.FirstOrDefault(x => x.Id.Equals(reservamodel.Sesion.Id));


                //Añadimos el objeto al mapeador
                Reserva reserva = new Reserva()
                {
                    Fila = Int32.Parse(butaca[0]), Columna = Int32.Parse(butaca[1]), SesionId = reservamodel.Sesion.Id, UsuarioId = user.Id, Precio = sesion.PrecioCalculado, Sesion = sesion, Usuario = user
                };


                // Si hay alguna butaca reservada ya cancelamos la operación
                if (db.ReservaConjunto.FirstOrDefault(r => r.Fila == reserva.Fila && r.Columna == reserva.Columna && r.Sesion.Id == sesion.Id) != null)
                {
                    foreach (Reserva nocompletada in reservas)     // Borramos las reservas no completadas del contenedor
                    {
                        db.ReservaConjunto.Remove(nocompletada);
                    }

                    ModelState.AddModelError("", "Butaca ya reservada.");

                    return(fillModelFor(reservamodel, reservamodel.Sesion.Id));
                }

                db.ReservaConjunto.Add(reserva);
                reservas.Add(reserva);
            }

            db.SaveChanges();

            ReciboModel recibo = new ReciboModel();

            recibo.reservas = reservas;
            //recibo.FormaDePago = reservamodel.FormaDePago;
            TempData["recibo"] = recibo;

            return(RedirectToAction("Recibo", "Reserva"));
        }