public JsonResult GetAjax() { db = new TaxiDBEntities(); var driver = db.Drivers.FirstOrDefault(x => x.Employees.CallSign == User.Identity.Name); if (driver == null) { return(null); } if (db.Order.Any(x => x.Drivers.Id == driver.Id && x.Statuses.Name == "In progress")) { return (Json( db.Order.Where(x => x.Drivers.Id == driver.Id && x.Statuses.Name == "In progress") .Select(x => new { x.Id, x.AdressFrom, x.AdressWhere, x.ClientsPhone, x.Description, x.Cost, driver.Busy }), JsonRequestBehavior.AllowGet)); } return(null); }
public ActionResult Login(LoginModel model) { if (ModelState.IsValid) { // поиск пользователя в бд Employees user; using (TaxiDBEntities db = new TaxiDBEntities()) { user = db.Employees.FirstOrDefault(u => u.CallSign == model.CallSign && u.Password == model.Password); if (user != null) { FormsAuthentication.SetAuthCookie(model.CallSign, true); //FormsAuthentication.RenewTicketIfOld(new FormsAuthenticationTicket(1, model.CallSign, // DateTime.Now, // DateTime.Now.AddSeconds(15), true, user.RoleTable.Name, FormsAuthentication.FormsCookiePath)); if (user.RoleTable.Name == "Dispetcher") { return(RedirectToAction("Index", "Dispetcher")); } if (user.RoleTable.Name == "Driver") { return(RedirectToAction("Index", "Driver")); } return(RedirectToAction("Index", "Home")); } } ModelState.AddModelError("", "Пользователя с таким логином и паролем нет"); } return(View(model)); }
public override bool IsUserInRole(string callSign, string roleName) { bool outputResult = false; using (TaxiDBEntities db = new TaxiDBEntities()) { try { Employees user = db.Employees.FirstOrDefault(u => u.CallSign == callSign); if (user != null) { RoleTable userRole = db.RoleTable.Find(user.IdRole); if (userRole != null && userRole.Name == roleName) { outputResult = true; } } } catch { outputResult = false; } } return(outputResult); }
public override void CreateRole(string roleName) { RoleTable newRole = new RoleTable() { Name = roleName }; TaxiDBEntities db = new TaxiDBEntities(); db.RoleTable.Add(newRole); db.SaveChanges(); }
public ActionResult Order() { using (TaxiDBEntities db = new TaxiDBEntities()) { ObservableCollection <Tariffs> tarifsCollection = new ObservableCollection <Tariffs>(); foreach (var i in db.Tariffs) { tarifsCollection.Add(i); } ViewBag.ASD = tarifsCollection; } return(View()); }
public JsonResult GetAjax() { using (TaxiDBEntities db = new TaxiDBEntities()) { ObservableCollection <Drivers> driverCollection = new ObservableCollection <Drivers>(); foreach (var i in db.Drivers) { if (!i.Busy) { driverCollection.Add(i); } } return(Json(driverCollection.Select(x => new { location = x.Location, id = x.Id }), JsonRequestBehavior.AllowGet)); } }
public ActionResult EditOrder(Order order) { TaxiDBEntities db = new TaxiDBEntities(); var ord = db.Order.FirstOrDefault(x => x.Id == order.Id); { ord.AdressFrom = order.AdressFrom; ord.AdressWhere = order.AdressWhere; ord.ClientsPhone = order.ClientsPhone; ord.IdDispetcher = db.Dispetchers.FirstOrDefault(x => x.Employees.CallSign == User.Identity.Name).Id; ord.IdDriver = db.Drivers.FirstOrDefault(x => x.Employees.CallSign == order.Drivers.Employees.CallSign).Id; ord.IdTariff = order.IdTariff; ord.Kilometrage = order.Kilometrage; ord.Description = order.Description; ord.IdStatus = order.IdStatus; ord.Cost = order.Cost; } db.SaveChanges(); return(RedirectToAction("ViewOrders")); }
public ActionResult EditOrder(string id) { TaxiDBEntities db = new TaxiDBEntities(); ObservableCollection <Tariffs> tarifsCollection = new ObservableCollection <Tariffs>(); foreach (var i in db.Tariffs) { tarifsCollection.Add(i); } ViewBag.ASD = tarifsCollection; ObservableCollection <Statuses> statusesCollection = new ObservableCollection <Statuses>(); foreach (var i in db.Statuses) { statusesCollection.Add(i); } ViewBag.Statuses = statusesCollection; Guid ID = Guid.Parse(id); return(View(db.Order.FirstOrDefault(x => x.Id == ID))); }
public ActionResult Order(Order order) { using (TaxiDBEntities db = new TaxiDBEntities()) { ObservableCollection <Tariffs> tarifsCollection = new ObservableCollection <Tariffs>(); foreach (var i in db.Tariffs) { tarifsCollection.Add(i); } ViewBag.ASD = tarifsCollection; var driver = db.Drivers.FirstOrDefault(x => x.Id == order.IdDriver); if (driver != null) { var tar = db.Tariffs.FirstOrDefault(x => x.Id == order.IdTariff); db.Order.Add(new Order() { Id = Guid.NewGuid(), AdressFrom = order.AdressFrom, AdressWhere = order.AdressWhere, ClientsPhone = order.ClientsPhone, DateTime = DateTime.Now, IdDispetcher = db.Dispetchers.FirstOrDefault(x => x.Employees.CallSign == User.Identity.Name).Id, IdDriver = driver.Id, IdTariff = order.IdTariff, Kilometrage = order.Kilometrage, Description = order.Description, IdStatus = db.Statuses.FirstOrDefault(x => x.Name.Contains("In progress")).Id, Cost = (order.Kilometrage / 1000) * Convert.ToInt32(tar.Cost) + tar.InitialCost }); driver.Busy = true; db.SaveChanges(); } else { return(View("Error")); } } return(View(order)); }
public override string[] GetRolesForUser(string CallSign) { string[] role = new string[] { }; using (TaxiDBEntities db = new TaxiDBEntities()) { try { Employees user = db.Employees.FirstOrDefault(u => u.CallSign == CallSign); if (user != null) { RoleTable userRole = db.RoleTable.Find(user.IdRole); if (userRole != null) { role = new[] { userRole.Name }; } } } catch { role = new string[] { }; } } return(role); }
public ActionResult AddEmployee(RegisterModel model) { if (ModelState.IsValid) { Employees user; user = db.Employees.FirstOrDefault(u => u.CallSign == model.CallSign); if (user == null) { try { db.Employees.Add(new Employees() { Id = Guid.NewGuid(), CallSign = model.CallSign, Password = model.Password, Name = model.Name, LastName = model.LastName, MiddleName = model.MiddleName, Adress = model.Adress, DateOfBorn = Convert.ToDateTime(model.DateOfBorn), DateOfHiring = DateTime.Today, PhoneNumber = model.PhoneNumber, Sex = model.Sex, IdRole = db.RoleTable.FirstOrDefault(x => x.DisplayName == model.Role).Id }); db.SaveChanges(); using (TaxiDBEntities _db = new TaxiDBEntities()) { if (model.Role == "Диспетчер") { _db.Dispetchers.Add(new Dispetchers() { Id = Guid.NewGuid(), IdEmployee = _db.Employees.FirstOrDefault(x => x.CallSign == model.CallSign).Id }); } if (model.Role == "Водій") { _db.Drivers.Add(new Drivers() { Id = Guid.NewGuid(), IdEmployee = _db.Employees.FirstOrDefault(x => x.CallSign == model.CallSign).Id, Busy = false, Location = "", DateOfHiring = DateTime.Now, DriverLicenseId = model.DriverLicenseId }); } _db.SaveChanges(); } } catch (Exception) { return(RedirectToAction("ErrorResult", "Account")); } } else { ModelState.AddModelError("", "Пользователь с таким логином уже существует"); } } return(View(model)); }