//desativar estado dependiendo si a llegado al restaurante o no public static void Desactivar2(WebRestauranteContext db) { var MesasOcupada = new List <MesasOcupadas>(); DateTime fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); DateTime Hora = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.TimeOfDay.Hours, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds); MesasOcupada = db.MesasOcupadas.Where(t => t.Fecha_MesasO == fecha).ToList(); MesasOcupada = MesasOcupada.Where(t => Hora > t.HoraSalida_MesasO).ToList(); MesasOcupada = MesasOcupada.Where(t => t.Llegada_MesasO == false).ToList(); MesasOcupada = MesasOcupada.Where(t => t.Estado_MesasO == true).ToList(); if (MesasOcupada.Count() != 0) { foreach (var item in MesasOcupada) { MesasOcupadas MO = db.MesasOcupadas.Find(item.Cod_MesasO); var Detalle = db.DetalleMesasCliente.Where(t => t.Cod_MesasO == item.Cod_MesasO).ToList(); foreach (var item1 in Detalle) { DetalleMesasCliente DMC = db.DetalleMesasCliente.Find(item1.Id_DMC); DMC.Estado_DMC = false; db.Entry(DMC).State = System.Data.Entity.EntityState.Modified; } MO.Estado_MesasO = false; db.Entry(MO).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } }
public static async Task passawordRecovery(string email, WebRestauranteContext db) { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(DbContext)); var UserASP = UserManager.FindByEmail(email); if (UserASP == null) { return; } var user = db.Clientes.Where(c => c.UserName == email).FirstOrDefault(); if (user == null) { return; } var NRandon = new Random(); var newPassaword = string.Format("{0}{2:04}{1}" , user.Apellidos_Cli.Trim().ToUpper().Substring(0, 1) , user.Nombres_Cli.Trim().ToUpper().Substring(0, 1) , NRandon.Next(9999)); UserManager.RemovePassword(UserASP.Id); UserManager.AddPassword(UserASP.Id, newPassaword); var subject = "Recordar Contraseña"; var body = string.Format(@"<h1>Cliente " + user.Nombres_Cli + "</h1> <p>Su nueva contrseña es:<strong>{0}</strong></p><p>Por favor ingrese con esta nueva contraseña, y la cambia apenas inicie</p>", newPassaword); await sendMail(email, subject, body); }
public async Task <ActionResult> ForgotPassword(ForgotPasswordViewModel model) { WebRestauranteContext db = new WebRestauranteContext(); if (ModelState.IsValid) { var user = await UserManager.FindByEmailAsync(model.Email); if (user != null) { await SendEmail.passawordRecovery(user.Email, db); return(RedirectToAction("ForgotPasswordConfirmation", "Account")); } // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); // var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Reset Password", "Please reset your password by clicking <a href=\"" + callbackUrl + "\">here</a>"); // return RedirectToAction("ForgotPasswordConfirmation", "Account"); } // If we got this far, something failed, redisplay form return(View(model)); }
public static void RegisterRoutes(RouteCollection routes) { WebRestauranteContext db = new WebRestauranteContext(); routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // BotDetect requests must not be routed routes.IgnoreRoute("{*botdetect}", new { botdetect = @"(.*) BotDetectCaptcha\.ashx" }); if (db.Restaurantes.Count() == 0) { routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "RestaurantesConf", action = "Create", id = UrlParameter.Optional } ); } else { routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }
public static async Task ConfirmarReserva(Guid idCliente, string NReserva, WebRestauranteContext db) { int CDocumento = 0, CPersonas = 0, M = 0; var DMesasCliente = db.DetalleMesasCliente.Where(r => (r.Cod_Cli == idCliente && r.NConfirmacion_DMC == NReserva)).ToList(); var Cliente = db.Clientes.Where(c => c.Cod_Cli == idCliente).ToList(); string fecha = "", horai = "", horas = ""; foreach (var item in DMesasCliente) { fecha = item.MesasOcupadas.Fecha_MesasO.Date.ToString(); horai = item.MesasOcupadas.HoraIngreso_MesasO.TimeOfDay.ToString(); horas = item.MesasOcupadas.HoraSalida_MesasO.TimeOfDay.ToString(); CPersonas = item.MesasOcupadas.CPersonas_Mesas; if (item.Cod_MesasO != M) { CDocumento++; M = item.Cod_MesasO; } } if (Cliente == null) { return; } string Nombres = Cliente.FirstOrDefault().Nombres_Cli + " " + Cliente.FirstOrDefault().Apellidos_Cli; var subject = "Confirmacion de Reserva"; var body = string.Format(@"<h1><strong>Señor, " + Nombres + "</strong></h1> <p><h2>Ha generado una Reservar</h2></p><p><h3>Detalles de la Reservar</h3></p>" + "<p># Mesas: " + CDocumento + " </p> <p>Cantidad de Personas: " + CPersonas + " </p> <p>Fecha: " + fecha + "</p> <p>Hora de Ingreso: " + horai + "</p> <p>Tiempo de espera: " + horas + "</p>" + "<p>Link de confirmacion de Reserva: <a href='http://localhost:55157/DetalleReserva/DetalleReserva?Idr=" + NReserva + "&Idc=" + idCliente + "'>http://localhost:55157/DetalleReserva/DetalleReserva?Idr=" + NReserva + "&Idc=" + idCliente + "</a><p>"); await sendMail(Cliente.FirstOrDefault().Correo_Cli, subject, body); }
public static void Mesas(int IdM, WebRestauranteContext db) { var MesasO = new List <MesasOcupadas>(); var Mover = new List <MesasOcupadas>(); DateTime Fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); DateTime hora1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.TimeOfDay.Hours, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds); int H = DateTime.Now.TimeOfDay.Hours; H = H + 1; DateTime hora2 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, H, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds); MesasO = db.MesasOcupadas.Where(t => t.Fecha_MesasO == Fecha).ToList(); MesasO = MesasO.Where(t => (t.HoraIngreso_MesasO <= hora2 && hora1 < t.HoraIngreso_MesasO) || t.HoraSalida_MesasO >= hora1).ToList(); MesasO = MesasO.Where(t => t.Cod_Mesa == IdM).ToList(); foreach (var item in MesasO) { Mover = db.MesasOcupadas.Where(t => t.Fecha_MesasO == Fecha).ToList(); Mover = Mover.Where(t => (t.HoraIngreso_MesasO <= hora2 && hora1 < t.HoraIngreso_MesasO) || t.HoraSalida_MesasO >= hora1).ToList(); for (int i = 1; i <= db.Mesas.Count(); i++) { var Mover1 = Mover.Where(t => t.Cod_Mesa == i).ToList(); if (Mover1.Count == 0) { MesasOcupadas MO = db.MesasOcupadas.Find(item.Cod_MesasO); MO.Cod_Mesa = i; db.Entry(MO).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); i = db.Mesas.Count(); } } } }
public static bool ingresar(WebRestauranteContext db, int IdM, Guid IdC, string[] selectedMenu, string[] DCantida, int?IdMesaO, string CPersona, bool?TR) { int horaS = DateTime.Now.TimeOfDay.Hours; horaS = horaS + 2; if (IdMesaO != 0) { var MO = db.MesasOcupadas.Find(IdMesaO); Reserva.DetalleMenuCliente(IdC, "," + MO.Cod_MesasO, MO.Reservada, db, SeparadorMenu.Menu(selectedMenu, DCantida), IdMesaO, TR); return(true); } else { Mover.Mesas(IdM, db); int A = DateTime.Now.Year; var mesasO = new MesasOcupadas { Cod_Mesa = IdM, Estado_MesasO = true, ConfirmarMesa = true, CPersonas_Mesas = Convert.ToInt32(CPersona), Fecha_MesasO = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day), HoraIngreso_MesasO = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.TimeOfDay.Hours, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds), HoraSalida_MesasO = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, horaS, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds), Llegada_MesasO = true, Reservada = "Restaurante" }; db.MesasOcupadas.Add(mesasO); db.SaveChanges(); var codMesas = MesasOcupada.Lista(IdM, mesasO.Fecha_MesasO, db, mesasO.HoraIngreso_MesasO).Max(mo => mo.Cod_MesasO); Reserva.DetalleMenuCliente(IdC, "," + codMesas, "Restaurante-" + Ramdon.Numero(), db, SeparadorMenu.Menu(selectedMenu, DCantida), IdMesaO, TR); return(true); } }
public static DateTime Salida(DateTime hora, WebRestauranteContext db) { var TE = db.Restaurantes.ToList(); int UH = hora.TimeOfDay.Hours + TE.FirstOrDefault().TiempoEspera.TimeOfDay.Hours; int UM = hora.TimeOfDay.Minutes + TE.FirstOrDefault().TiempoEspera.TimeOfDay.Minutes; int US = hora.TimeOfDay.Seconds + TE.FirstOrDefault().TiempoEspera.TimeOfDay.Seconds; if (US > 59) { int USs = US - 59; UM = UM + 1; UM = USs; } if (UM > 59) { int UMm = UM - 59; UH = UH + 1; UM = UMm; } if (UH > 23) { UH = 00; } DateTime Utiempo = new DateTime(hora.Year, hora.Month, hora.Day, UH, UM, US); return(Utiempo); }
public static void BFacturacion(int x, WebRestauranteContext db) { if (x == 1) { } else { } }
public static void ListaTD(WebRestauranteContext db) { string[] listaN = new string[4]; string[] listaD = new string[4]; listaN[1] = "FR"; listaD[1] = "Factura"; listaN[2] = "PR"; listaD[2] = "Pedido Reserva"; listaN[3] = "RV"; listaD[3] = "Reserva"; AddTD(listaN, listaD, db); }
// verifica si la mesa esta ocupada o no public static List <MesasOcupadas> Lista(int codMesa, DateTime Fecha, WebRestauranteContext db, DateTime horaI) { Desactivar(db); /*Desactivar2(db);*/ DateTime hora = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.TimeOfDay.Hours, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds); var MesasOcupada = db.MesasOcupadas.Where(mo => mo.Cod_Mesa == codMesa).ToList(); var MesasODate = MesasOcupada.Where(mo => (mo.Fecha_MesasO >= new DateTime(Fecha.Year, Fecha.Month, Fecha.Day))).ToList(); var MesasOHora = MesasODate.Where(mo => ((mo.HoraIngreso_MesasO <= horaI) /*|| (mo.HoraSalida_MesasO >= horaI) */)).ToList(); var MesasOcupadas = MesasOHora.Where(mo => mo.Estado_MesasO == true).ToList(); return(MesasOcupadas); }
public static int Numero(WebRestauranteContext db) { int N = 0; if (db.Documento.ToList().Count() > 0) { N = db.Documento.Max(t => t.Consecutivo); } N = N + 1; return(N); }
public static void listaDias(WebRestauranteContext db) { string[] listaDias = new string[8]; listaDias[1] = "Lunes-Monday"; listaDias[2] = "Martes-Tuesday"; listaDias[3] = "Miercoles-Wednesday"; listaDias[4] = "Jueves-Thursday"; listaDias[5] = "Viernes-Friday"; listaDias[6] = "Sabado-Saturday"; listaDias[7] = "Domingo-Sunday"; AddDias(listaDias, db); }
public static void AddTD(string[] listaN, string[] listaD, WebRestauranteContext db) { for (int i = 1; i <= 3; i++) { var TipoDocumento = new TipoDocumento { Nombre_TDoc = listaN[i], Descripcion_TDoc = listaD[i] }; db.TipoDocumentoes.Add(TipoDocumento); } db.SaveChanges(); }
public static void AddDias(string[] lista, WebRestauranteContext db) { for (int i = 1; i <= 7; i++) { string[] s = lista[i].Split(new char[] { '-' }); var dia = new Models.Dias { Nombre_Dia = s[0], NombreI_Dia = s[1] }; db.Dias.Add(dia); } db.SaveChanges(); }
public static int CMesa(DateTime fecha, DateTime hora, WebRestauranteContext db) { int i2 = 0; MesasOcupada.Desactivar(db); MesasOcupada.Desactivar2(db); var mesa = db.Mesas.ToList(); foreach (var item in mesa) { var MesasOcupada = db.MesasOcupadas.Where(mo => mo.Cod_Mesa == item.Cod_Mesa).ToList(); var MesasODate = MesasOcupada.Where(mo => (mo.Fecha_MesasO == fecha)).ToList(); var MesasOHora = MesasODate.Where(mo => (hora >= mo.HoraIngreso_MesasO) && (mo.HoraSalida_MesasO >= hora)).ToList(); var MesasOcupadas = MesasOHora.Where(mo => mo.Estado_MesasO == true).ToList(); if (MesasOcupadas.Count() == 0) { i2++; } } return(i2); }
public static List <MesasOcupadas> Lista(Guid IdC, int IdM, WebRestauranteContext db, DateTime fecha, DateTime hora) { var lista = new List <MesasOcupadas>(); foreach (var item in db.Mesas.ToList()) { var MesasOcupada = db.MesasOcupadas.Where(mo => mo.Cod_Mesa == item.Cod_Mesa).ToList(); var MesasODate = MesasOcupada.Where(mo => (mo.Fecha_MesasO >= fecha)).ToList(); var MesasOHora = MesasODate.Where(mo => ((mo.HoraIngreso_MesasO <= hora) || (mo.HoraSalida_MesasO >= hora))).ToList(); var MesasOcupadas = MesasOHora.Where(mo => mo.Estado_MesasO == true).ToList(); if (MesasOcupadas.Count > 0) { string Mo = MesasOcupadas.Where(t => t.Cod_Mesa == IdM).Select(t => t.Reservada).FirstOrDefault(); foreach (var item1 in MesasOcupadas) { if (item1.Reservada != Mo) { if (item1.Llegada_MesasO == true) { var mo = new MesasOcupadas { Cod_Mesa = item1.Cod_Mesa, Cod_MesasO = item1.Cod_MesasO, ConfirmarMesa = item1.ConfirmarMesa, CPersonas_Mesas = item1.CPersonas_Mesas, Estado_MesasO = item1.Estado_MesasO, Fecha_MesasO = item1.Fecha_MesasO, HoraIngreso_MesasO = item1.HoraIngreso_MesasO, HoraSalida_MesasO = item1.HoraSalida_MesasO, Llegada_MesasO = item1.Llegada_MesasO, Reservada = item1.Reservada }; lista.Add(mo); } } } } } return(lista); }
// cuenta las mesas disponible asta la hora actual public static int CMesas(WebRestauranteContext db) { int i2 = 0; MesasOcupada.Desactivar(db); MesasOcupada.Desactivar2(db); var mesa = db.Mesas.ToList(); DateTime fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); DateTime hora = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.TimeOfDay.Hours, DateTime.Now.TimeOfDay.Minutes, DateTime.Now.TimeOfDay.Seconds); foreach (var item in mesa) { var MesasOcupada = db.MesasOcupadas.Where(mo => mo.Cod_Mesa == item.Cod_Mesa).ToList(); var MesasODate = MesasOcupada.Where(mo => (mo.Fecha_MesasO == fecha)).ToList(); var MesasOHora = MesasODate.Where(mo => (hora >= mo.HoraIngreso_MesasO) /*&& (mo.HoraSalida_MesasO >= hora)*/).ToList(); var MesasOcupadas = MesasOHora.Where(mo => mo.Estado_MesasO == true).ToList(); if (MesasOcupadas.Count() == 0) { i2++; } } return(i2); }
public static void DetalleMenuCliente(Guid IdCliente, string idMesas, string Nconfirma, WebRestauranteContext db, string[] MenuCantidad, int?IdMesaO, bool?TR) { string[] idMesa = idMesas.Split(new char[] { ',' }); foreach (var item in idMesa) { if (item != "") { if (IdMesaO == 0) { if (MenuCantidad != null) { foreach (var item1 in MenuCantidad) { string[] id = item1.Split(new char[] { ',' }); if (id[0] != "") { int cod = Convert.ToInt32(item); var detalle = new DetalleMesasCliente { Cod_MesasO = cod, Cod_Cli = IdCliente, NConfirmacion_DMC = Nconfirma, Cantidad_DMC = Convert.ToInt32(id[1]), Cod_Menu = Convert.ToInt32(id[0]), Estado_DMC = true, Cod_TDoc = 1, PedidoM = true }; db.DetalleMesasCliente.Add(detalle); MesasOcupadas x = db.MesasOcupadas.Find(cod); x.Reservada = Nconfirma; x.Llegada_MesasO = true; db.Entry(x).State = EntityState.Modified; db.SaveChanges(); } } } else { int cod = Convert.ToInt32(item); var detalle = new DetalleMesasCliente { Cod_MesasO = cod, Cod_Cli = IdCliente, NConfirmacion_DMC = Nconfirma, Cantidad_DMC = Convert.ToInt32(0), Cod_Menu = Convert.ToInt32(1), Estado_DMC = true, Cod_TDoc = 1, PedidoM = false }; db.DetalleMesasCliente.Add(detalle); MesasOcupadas x = db.MesasOcupadas.Find(cod); x.Reservada = Nconfirma; db.Entry(x).State = EntityState.Modified; db.SaveChanges(); } } else { int i = 0; int id_DMC = 0; var CMC = db.DetalleMesasCliente.Where(t => t.Cod_MesasO == IdMesaO).ToList(); foreach (var iten in CMC) { var D = db.DetalleMesasCliente.Find(iten.Id_DMC); id_DMC = iten.Id_DMC; db.DetalleMesasCliente.Remove(D); db.SaveChanges(); } if (MenuCantidad != null) { var R = db.DetalleMesasCliente.Where(T => T.Id_DMC == id_DMC).ToList(); foreach (var item1 in MenuCantidad) { string[] id = item1.Split(new char[] { ',' }); if (id[0] != "") { int cod = Convert.ToInt32(item); var detalle = new DetalleMesasCliente { Cod_MesasO = cod, Cod_Cli = IdCliente, NConfirmacion_DMC = Nconfirma, Cantidad_DMC = Convert.ToInt32(id[1]), Cod_Menu = Convert.ToInt32(id[0]), Estado_DMC = true, Cod_TDoc = 1, PedidoM = true }; db.DetalleMesasCliente.Add(detalle); if (i == 0) { var mo = db.MesasOcupadas.Where(t => t.Cod_MesasO == cod || t.Reservada == Nconfirma).ToList(); foreach (var item2 in mo) { MesasOcupadas x = db.MesasOcupadas.Find(item2.Cod_MesasO); x.Reservada = Nconfirma; if (TR != true) { x.Llegada_MesasO = true; } db.Entry(x).State = EntityState.Modified; db.SaveChanges(); i++; } } } } db.SaveChanges(); } else { int cod = Convert.ToInt32(item); var detalle = new DetalleMesasCliente { Cod_MesasO = cod, Cod_Cli = IdCliente, NConfirmacion_DMC = Nconfirma, Cantidad_DMC = Convert.ToInt32(0), Cod_Menu = Convert.ToInt32(1), Estado_DMC = true, Cod_TDoc = 1, PedidoM = false }; db.DetalleMesasCliente.Add(detalle); MesasOcupadas x = db.MesasOcupadas.Find(cod); x.Reservada = Nconfirma; db.Entry(x).State = EntityState.Modified; db.SaveChanges(); } } } } }
public static Guid idCliente(string correo, string nombre, string apellido, string telefono, WebRestauranteContext db) { var usuario = db.Clientes.Where(c => c.Correo_Cli == correo).FirstOrDefault(); if (usuario == null) { var cliente = new Clientes { Nombres_Cli = nombre, Apellidos_Cli = apellido, Correo_Cli = correo, Telefono_Cli = telefono, Fecha_Cli = DateTime.Now.Date, UserName = correo }; db.Clientes.Add(cliente); db.SaveChanges(); } Guid idCliente = db.Clientes.Where(c => (c.Correo_Cli == correo)).FirstOrDefault().Cod_Cli; return(idCliente); }