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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        public override void CreateRole(string roleName)
        {
            RoleTable newRole = new RoleTable()
            {
                Name = roleName
            };
            TaxiDBEntities db = new TaxiDBEntities();

            db.RoleTable.Add(newRole);
            db.SaveChanges();
        }
Exemple #5
0
 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());
 }
Exemple #6
0
 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));
     }
 }
Exemple #7
0
        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"));
        }
Exemple #8
0
        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)));
        }
Exemple #9
0
 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));
 }
Exemple #10
0
 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);
 }
Exemple #11
0
 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));
 }