예제 #1
0
        public ActionResult Tandas()
        {
            TanoNEEntities ctx   = new TanoNEEntities();
            List <Tandas>  total = ctx.Tandas.ToList();


            ConfCircuitos conf = new ConfCircuitos();

            if (total.Count == 0)
            {
                conf.leyenda = "No existen tandas creadas";
                conf.abrir   = true;
            }
            else
            {
                Tandas ultima = total.LastOrDefault(a => a.fechaCerrado == null);
                if (ultima == null)
                {
                    ultima       = total.LastOrDefault();
                    conf.abrir   = true;
                    conf.codigo  = ultima.Circuitos.codigo;
                    conf.leyenda = "No hay tanda abierta, último abierto: " + ultima.Circuitos.nombre;
                }
                else
                {
                    conf.leyenda    = "Circuito Abierto el " + ultima.fechaAbierto.ToString("dd/MM/yyyy") + " por : " + ultima.Vecinos.nombres;
                    conf.idCircuito = ultima.Circuitos.idCircuito;
                    conf.abrir      = false;
                }

                conf.idTanda      = ultima.idTanda;
                conf.circuito     = ultima.Circuitos.nombre;
                conf.fechaAbierto = ultima.fechaAbierto.ToString("dd/MM/yyyy");
            }

            return(View(conf));
        }
예제 #2
0
        public ActionResult Modificar(int codigo, bool abrir, string fechaVenta, int idTanda = -1)
        {
            TanoNEEntities ctx  = new TanoNEEntities();
            ConfCircuitos  conf = new ConfCircuitos();

            Circuitos    circuito    = ctx.Circuitos.FirstOrDefault(a => a.codigo == codigo);
            Vecinos      responsable = ctx.Vecinos.FirstOrDefault(a => a.correo == User.Identity.Name);
            RolesVecinos rol         = responsable.RolesVecinos.FirstOrDefault(a => a.Roles.codigoRol == 2);

            if (rol == null)
            {
                conf.error = "Su ususario no tiene permisos";
            }
            else
            {
                if (abrir)
                {
                    Tandas ultima = ctx.Tandas.ToList().LastOrDefault();
                    if (ultima != null && ultima.fechaCerrado == null)
                    {
                        conf.error = "No puede haber 2 tandas abiertas";
                    }
                    else
                    {
                        Tandas tanda = new Tandas();
                        tanda.fechaAbierto = DateTime.Now;
                        tanda.fechaVenta   = DateTime.ParseExact(fechaVenta, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        tanda.Circuitos    = circuito;
                        tanda.Vecinos      = responsable;
                        conf.abrir         = false;
                        conf.circuito      = tanda.Circuitos.nombre;
                        conf.codigo        = tanda.Circuitos.codigo;
                        conf.idTanda       = tanda.idTanda;
                        conf.idCircuito    = tanda.Circuitos.idCircuito;
                        conf.leyenda       = "Circuito Abierto: ";

                        if (!bool.Parse(ConfigurationManager.AppSettings["debug"]))
                        {
                            ApiProductosController.mandarNotificacion("Ya poder pedir!", "Desde hoy tenés la posibilidad de hacer tu pedido", "CARRITO", ctx.AlertasVecinxs.Where(a => a.Vecinos.token != null && a.Alertas.codigo == 3).Select(a => a.Vecinos.token).Distinct().ToArray());
                        }

                        ctx.Tandas.Add(tanda);
                        ctx.SaveChanges();
                    }
                }
                else
                {
                    Tandas ultima = ctx.Tandas.ToList().LastOrDefault();
                    if (ultima != null && ultima.fechaCerrado != null)
                    {
                        conf.error = "Ya se encuentra cerrado";
                    }
                    else
                    {
                        if (idTanda == -1)
                        {
                            conf.error = "No se encontró la tanda";
                        }
                        else
                        {
                            Tandas tanda = ctx.Tandas.FirstOrDefault(a => a.idTanda == idTanda);
                            tanda.fechaCerrado = DateTime.Now;
                            tanda.Vecinos      = responsable;

                            conf.leyenda    = "No hay tanda abierta, último abierto:";
                            conf.abrir      = true;
                            conf.idCircuito = ultima.Circuitos.idCircuito;
                            conf.codigo     = ultima.Circuitos.codigo;

                            //CERRAR TODOS LOS PEDIDOS DE ESTA TANDA

                            EstadosCompra confirmado = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 2);
                            foreach (var compraEnTanda in tanda.Compras)
                            {
                                compraEnTanda.EstadosCompra = confirmado;
                            }
                            ctx.SaveChanges();

                            //if (!bool.Parse(ConfigurationManager.AppSettings["debug"]))
                            //    MandarMailConfirmandoCompraTodos(tanda);

                            ctx.SaveChanges();
                        }
                    }
                }
            }



            return(RedirectToAction("Tandas", "Tandas"));
        }