コード例 #1
0
ファイル: AdminBl.cs プロジェクト: poliko6/taksopark
 public void CreateCar(Car car)
 {
     using (var uow = new UnitOfWork(_appConfigConnection))
     {
         uow.CarRepository.Create(car);
     }
 }
コード例 #2
0
ファイル: CarRepository.cs プロジェクト: poliko6/taksopark
 /// <summary>
 /// Create new car record
 /// </summary>
 /// <param name="car">Car model</param>
 public void Create(Car car)
 {
     using (var command = new SqlCommand("sp_CreateCar", _connection))
     {
         command.CommandType = CommandType.StoredProcedure;
         command.Parameters.AddWithValue("@Brand", car.CarBrand);
         command.Parameters.AddWithValue("@Year", car.CarYear);
         command.Parameters.AddWithValue("@StartWorkTime", car.StartWorkTime);
         command.Parameters.AddWithValue("@FinishWorkTime", car.FinishWorkTime);
         command.Parameters.AddWithValue("@Latitude", car.Latitude);
         command.Parameters.AddWithValue("@Longitude", car.Longitude);
         command.Parameters.AddWithValue("@CarId", car.Id);
         command.ExecuteNonQuery();
     }
 }
コード例 #3
0
ファイル: CarMapper.cs プロジェクト: poliko6/taksopark
 public static Car Map(SqlDataReader record)
 {
     if (record == null) throw new ArgumentNullException("record");
     var car = new Car
     {
         Id = (int)record["Id"],
         CarBrand = (string)record["Brand"],
         CarYear = (string)record["Year"],
         StartWorkTime = (DateTime)record["StartWorkTime"],
         FinishWorkTime = (DateTime)record["FinishWorkTime"],
         Latitude = (string)record["Latitude"],
         Longitude = (string)record["Longitude"]
     };
     return car;
 }
コード例 #4
0
ファイル: CarRepository.cs プロジェクト: poliko6/taksopark
 /// <summary>
 /// Get car by id
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public Car GetCarById(int id)
 {
     using (var command = new SqlCommand("sp_GetCarById", _connection))
     {
         command.CommandType = CommandType.StoredProcedure;
         command.Parameters.AddWithValue("@CarID", id);
         var findCar = new Car();
         using (var reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 var car = CarMapper.Map(reader);
                 findCar = car;
             }
         }
         return findCar;
     }
 }
コード例 #5
0
ファイル: CarRepository.cs プロジェクト: poliko6/taksopark
 public bool IsCarIdBooked(int id)
 {
     using (var command = new SqlCommand("sp_GetCarById", _connection))
     {
         command.CommandType = CommandType.StoredProcedure;
         command.Parameters.AddWithValue("@CarID", id);
         var car = new Car();
         using (var reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 car = CarMapper.Map(reader);
             }
         }
         if (car.Id == id)
         {
             return true;
         }
     }
     return false;
 }
コード例 #6
0
        protected void btnSaveEdit_Click(object sender, EventArgs e)
        {
            IAdminBl adminBl = HttpContext.Current.Application.GetContainer().Resolve<IAdminBl>();

            string UserId;
            if (hiddenId.Value != "")
            {
                UserId = hiddenId.Value;
                hiddenId.Value = "";
            }
            else
            {
                UserId = tbxFindTaxiDriverByCategory.Text;
            }

            var updatedUser = new User()
            {
                Id = Convert.ToInt32(UserId),
                UserName = tbxEditTaxiDriverName.Text,
                LastName = tbxEditLastName.Text,
                Login = tbxEditLogin.Text,
                PhoneNumber = tbxEditPhoneNumber.Text,
                Email = tbxEditEmail.Text,
                Password = tbxEditPassword.Text,
                Role = (int)RolesEnum.Driver,
                Status = (int)Enum.Parse(typeof(UserStatusEnum), ddlEditStatus.Text),
                DriverStatus = (int?)DriverStatusEnum.Free
            };

            if (!adminBl.IsLoginBookedByOtherId(updatedUser.Login, updatedUser.Id))
            {
                adminBl.UpdateUser(updatedUser);

                var updatedCar = new Car()
                {
                    Id = updatedUser.Id,
                    CarBrand = tbxCarBrand.Text,
                    CarYear = tbxCarYear.Text,
                    StartWorkTime = DateTime.Parse(tbxCarStartWorkTime.Text),
                    FinishWorkTime = DateTime.Parse(tbxCarFinishWorkTime.Text),
                    Latitude = tbxCarLatitude.Text,
                    Longitude = tbxCarLongitude.Text
                };
                if (adminBl.IsCarIdBooked(updatedCar.Id))
                {
                    adminBl.UpdateCar(updatedCar);
                }
                else
                {
                    adminBl.CreateCar(updatedCar);
                }

                Response.Redirect("~/WebForms/TaxiDrivers.aspx");
            }
            else
            {
                loginBooked.InnerText = "Login is booked!";
            }
        }