예제 #1
0
        public string StartWork(DriverLogInDto dto)
        {
            var driver = Db.Drivers.FirstOrDefault(d => d.Id == dto.DriverId);
            if (driver == null)
            {
                throw new Exception($"There is no such driver with id = {dto.DriverId}");
            }
            var car = Db.Cars.FirstOrDefault(d => d.Id == dto.CarId);
            if (car == null)
            {
                throw new Exception($"There is no such car with id = {dto.CarId}");
            }

            var cab = Db.Cabs.FirstOrDefault(c => c.DriverId == dto.DriverId && c.CarId == dto.CarId);
            if (cab == null)
            {
                cab = new Cab
                {
                    Car = car,
                    Driver = driver
                };
                Db.Cabs.Add(cab);
            }
            cab.Coords = new GeoCoordinates
            {
                Latitude = dto.Latitude,
                Longitude = dto.Longitude
            };
            cab.Status = CabStatus.Free;
            cab.DateStart = DateTime.Now;

            Db.SaveChanges();
            return "Ok";
        }
예제 #2
0
        public JsonResult AndroidLogin(DriverLogInDto dto)
        {
            try
            {
                var driver = UserManager.FindByName(dto.Login);
                if (driver != null)
                {
                    var res = UserManager.CheckPassword(driver, dto.Password);
                    if (res)
                    {
                        return Json(driver.Id);
                    }
                    // TODO: realize own usermanager with PasswordLogin method

                    return Json(String.Empty);
                }
                return Json(String.Empty);
            }
            catch (Exception e)
            {
                return Json(null);
            }
        }