internal string ConfirmarGustos(InvitacionPedido ip, ConfirmarcionGustoDTO c)
        {
            Pedido p = FindOneById(ip.IdPedido);


            List <InvitacionPedidoGustoEmpanadaUsuario> i = InvitacionPedidoGustoEmpanadaUsuarioSvc.FindAllByPedidoAndUser(p.IdPedido, c.IdUsuario);

            String mensaje = "";

            if (c.GustosEmpanadasCantidad != null)
            {
                foreach (GustosEmpanadasCantidad g in c.GustosEmpanadasCantidad)
                {
                    GustoEmpanada GustoEmpanada = GustoEmpanadaSvc.FindById(g.IdGustoEmpanada);
                    if (p.GustoEmpanada.Contains(GustoEmpanada))
                    {
                        if (i != null && i.Count != 0)
                        {
                            InvitacionPedidoGustoEmpanadaUsuario gustoEncontrado = i.Find(x => x.IdGustoEmpanada == g.IdGustoEmpanada);
                            if (gustoEncontrado != null)
                            {
                                gustoEncontrado.Cantidad = g.Cantidad;
                                Db.SaveChanges();
                            }
                            else
                            {
                                InvitacionPedidoGustoEmpanadaUsuario gusto = new InvitacionPedidoGustoEmpanadaUsuario
                                {
                                    IdGustoEmpanada = g.IdGustoEmpanada,
                                    IdPedido        = p.IdPedido,
                                    IdUsuario       = c.IdUsuario,
                                    Cantidad        = g.Cantidad
                                };
                                InvitacionPedidoGustoEmpanadaUsuarioSvc.Save(gusto);
                            }
                        }
                        else
                        {
                            InvitacionPedidoGustoEmpanadaUsuario gusto = new InvitacionPedidoGustoEmpanadaUsuario
                            {
                                IdGustoEmpanada = g.IdGustoEmpanada,
                                IdPedido        = p.IdPedido,
                                IdUsuario       = c.IdUsuario,
                                Cantidad        = g.Cantidad
                            };
                            InvitacionPedidoGustoEmpanadaUsuarioSvc.Save(gusto);
                        }
                    }
                    else
                    {
                        mensaje = "El gusto de id: " + g.IdGustoEmpanada + " no está disponible.";
                    }
                }
            }
            else
            {
                mensaje = "No se han seleccionado gustos.";
            }
            return(mensaje);
        }
示例#2
0
        internal InvitacionPedidoGustoEmpanadaUsuario Create(InvitacionPedidoGustoEmpanadaUsuario InvitationContent)
        {
            Db.InvitacionPedidoGustoEmpanadaUsuario.Add(InvitationContent);
            Db.SaveChanges();

            return(InvitationContent);
        }
示例#3
0
        public InvitacionPedidoGustoEmpanadaUsuario OpenInvitation(InvitacionPedido miInvitacion)
        {
            InvitacionPedidoGustoEmpanadaUsuario invAEditar = new InvitacionPedidoGustoEmpanadaUsuario();

            invAEditar.IdPedido  = miInvitacion.IdPedido;
            invAEditar.IdUsuario = miInvitacion.IdUsuario;
            return(invAEditar);
        }
示例#4
0
        internal InvitacionPedidoGustoEmpanadaUsuario Update(InvitacionPedidoGustoEmpanadaUsuario InvitationContent)
        {
            InvitacionPedidoGustoEmpanadaUsuario InvitationContentFromDb = FindOneById(InvitationContent.IdPedido);

            InvitationContentFromDb.Cantidad = InvitationContent.Cantidad;
            Db.SaveChanges();

            return(InvitationContentFromDb);
        }
示例#5
0
        public Boolean AgregarGustoAInvitacion(InvitacionPedidoGustoEmpanadaUsuario inv)
        {
            var    ipgeu  = Contexto.InvitacionPedidoGustoEmpanadaUsuario;
            Pedido pedido = Contexto.Pedido.Single(p => p.IdPedido == inv.IdPedido);

            if (!PedidoAbierto(pedido))
            {
                return(false);
            }
            ipgeu.Add(inv);
            Contexto.SaveChanges();
            return(true);
        }
示例#6
0
        internal void Create(Pedido Order)
        {
            foreach (string Email in Order.EmailsInvitados)
            {
                foreach (int IdGusto in Order.GustoEmpanadaDisponibles)
                {
                    InvitacionPedidoGustoEmpanadaUsuario InvitationContent = new InvitacionPedidoGustoEmpanadaUsuario
                    {
                        Cantidad        = 0,
                        IdGustoEmpanada = IdGusto,
                        IdPedido        = Order.IdPedido,
                        IdUsuario       = UsuarioSvc.GetIdFromEmail(Email)
                    };

                    InvitacionPedidoGustoEmpanadaUsuarioRepo.Create(InvitationContent);
                }
            }
        }
示例#7
0
        /// <summary>
        /// TODO: Tengo que pasar todo el choclo a un servicio
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public ActionResult Elegir(System.Guid token)
        {
            if (Session["loggedUser"] == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            int idUser = int.Parse(Session["idUser"].ToString());

            if (InvitacionPedidoService.CheckUsuarioValidoByTokenInvitacion(idUser, token))
            {
                InvitacionPedido miInvitacion  = InvitacionPedidoService.GetInvitationByToken(token);
                Pedido           PedidoAEditar = PedidoSvc.GetPedidoById(miInvitacion.IdPedido);
                PedidoAEditar.GustoEmpanada = PedidoSvc.GetGustosDisponibles(miInvitacion.IdPedido);
                InvitacionPedidoGustoEmpanadaUsuario invitacionAUtilizar = InvPedidoGustoSvc.OpenInvitation(miInvitacion);
                invitacionAUtilizar.Pedido = PedidoAEditar;
                return(View(invitacionAUtilizar));
            }
            return(RedirectToAction("Lista", new { idUser = idUser }));
        }
示例#8
0
 internal void Save(InvitacionPedidoGustoEmpanadaUsuario gusto)
 {
     InvitacionPedidoGustoEmpanadaUsuarioRepo.save(gusto);
 }
示例#9
0
 internal void save(InvitacionPedidoGustoEmpanadaUsuario gusto)
 {
     Db.InvitacionPedidoGustoEmpanadaUsuario.Add(gusto);
     Db.SaveChanges();
 }
示例#10
0
 internal void Delete(InvitacionPedidoGustoEmpanadaUsuario InvitationContent)
 {
     Db.InvitacionPedidoGustoEmpanadaUsuario.Remove(InvitationContent);
     Db.SaveChanges();
 }
示例#11
0
        //TODO: Elegir service por json
        public MensajeAppi ElegirGustos(UsuarioGustos GustosUsuario)
        {
            MensajeAppi msj = new MensajeAppi();

            try
            {
                InvitacionPedido invitado = GetInvitacionPedidoPorToken(GustosUsuario.Token.ToString(), GustosUsuario.IdUsuario);

                Pedido pedido = ObtenerPedidoPorId(invitado.IdPedido);

                //  Pedido pedido = ObtenerPedidoPorId(ctx.InvitacionPedido.Where(t => t.Token == GustosUsuario.Token && t.IdUsuario == GustosUsuario.IdUsuario).FirstOrDefault().IdPedido);

                foreach (var gustoSolicitados in GustosUsuario.GustosEmpanadasCantidad)
                {
                    if (pedido.GustoEmpanada.Where(g => g.IdGustoEmpanada == gustoSolicitados.IdGustoEmpanada).Count() == 0)
                    {
                        msj.Resultado = "ERROR";
                        msj.Mensaje   = "No se pudo efectuar la operacion porque uno o mas pedidos no estan disponibles";
                        return(msj);
                    }
                }

                if (pedido.EstadoPedido.Nombre == "Cerrado")
                {
                    msj.Resultado = "ERROR";
                    msj.Mensaje   = "No se pudo efectuar la operacion porque el pedido se encuentra cerrado";
                    return(msj);
                }

                foreach (var gusto in pedido.GustoEmpanada)
                {
                    try
                    {
                        if (pedido.InvitacionPedidoGustoEmpanadaUsuario.Where(p => p.IdUsuario == GustosUsuario.IdUsuario && p.IdGustoEmpanada == gusto.IdGustoEmpanada).Count() > 0)
                        {
                            ctx.InvitacionPedidoGustoEmpanadaUsuario.Remove(ctx.InvitacionPedidoGustoEmpanadaUsuario.Where(i => i.GustoEmpanada.IdGustoEmpanada == gusto.IdGustoEmpanada && i.IdUsuario == GustosUsuario.IdUsuario && i.IdPedido == pedido.IdPedido).FirstOrDefault());
                        }

                        var cantidadEmpanada = GustosUsuario.GustosEmpanadasCantidad.Where(c => c.IdGustoEmpanada == gusto.IdGustoEmpanada).FirstOrDefault().Cantidad;
                        if (cantidadEmpanada != 0)
                        {
                            InvitacionPedidoGustoEmpanadaUsuario ipgeu = new InvitacionPedidoGustoEmpanadaUsuario
                            {
                                Cantidad      = cantidadEmpanada,
                                GustoEmpanada = gusto,
                                IdUsuario     = GustosUsuario.IdUsuario,
                            };


                            pedido.InvitacionPedidoGustoEmpanadaUsuario.Add(ipgeu);
                        }
                    }
                    catch (Exception e)
                    {
                        if (pedido.InvitacionPedidoGustoEmpanadaUsuario.Where(p => p.IdUsuario == GustosUsuario.IdUsuario && p.IdGustoEmpanada == gusto.IdGustoEmpanada).Count() > 0)
                        {
                            ctx.InvitacionPedidoGustoEmpanadaUsuario.Remove(ctx.InvitacionPedidoGustoEmpanadaUsuario.Where(i => i.GustoEmpanada.IdGustoEmpanada == gusto.IdGustoEmpanada && i.IdUsuario == GustosUsuario.IdUsuario && i.IdPedido == pedido.IdPedido).FirstOrDefault());
                        }
                        msj.Resultado = "ERROR";
                        msj.Mensaje   = "No se pudo efectuar la operacion porque " + e.ToString();
                        return(msj);
                    }
                }


                var invitacion = ctx.InvitacionPedido.Where(i => i.IdPedido == pedido.IdPedido && i.IdUsuario == GustosUsuario.IdUsuario).FirstOrDefault();
                invitacion.Completado = true;
                ctx.SaveChanges();
                msj.Resultado = "OK";
                msj.Mensaje   = "Gustos elegidos satisfactoriamente";
                return(msj);
            }
            catch (NullReferenceException)
            {
                msj.Resultado = "ERROR";
                msj.Mensaje   = "No se pudo efectuar la operacion porque el usuario es invalido";
                return(msj);
            }
        }
示例#12
0
 public void DeleteGustosEmpanadasCantidad(InvitacionPedidoGustoEmpanadaUsuario datos)
 {
     condb.InvitacionPedidoGustoEmpanadaUsuario.Remove(datos);
     condb.SaveChanges();
 }
示例#13
0
 public void SetGustosEmpanadasCantidad(InvitacionPedidoGustoEmpanadaUsuario datos)
 {
     condb.InvitacionPedidoGustoEmpanadaUsuario.Add(datos);
     condb.SaveChanges();
 }