예제 #1
0
 public static bool EditCargo(int id, Cargo cargo)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             bool           result         = false;
             DataValidation dataValidation = new DataValidation();
             if (dataValidation.CheckAllInput(cargo))
             {
                 var cargos = db.Cargos.ToList();
                 for (int i = 0; i < cargos.Count; i++)
                 {
                     if (cargos[i].Id == id)
                     {
                         cargos[i].CopyFields(cargo);
                         db.SaveChanges();
                         result = true;
                     }
                 }
             }
             return(result);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
         return(false);
     }
 }
예제 #2
0
        public static bool DeleteCargo(int id)
        {
            try
            {
                using (TransportCompanyContext db = new TransportCompanyContext())
                {
                    bool result = false;
                    if (id > 0)
                    {
                        var cargos = db.Cargos.ToList();
                        foreach (var cargo in cargos)
                        {
                            if (id > 0 && cargo.Id == id)
                            {
                                db.Cargos.Remove(cargo);
                                result = true;
                            }
                        }

                        db.SaveChanges();
                    }
                    else
                    {
                        result = false;
                    }
                    return(result);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
예제 #3
0
 public static void SelectAllInfo(DataGridView dataGridView1)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             var cargos = db.Cargos.ToList();
             foreach (var cargo in cargos)
             {
                 dataGridView1.Rows.Add(new string[] {
                     Convert.ToString(cargo.Id),
                     cargo.Name,
                     Convert.ToString(cargo.Cost),
                     Convert.ToString(cargo.Weight),
                     Convert.ToString(cargo.Volume),
                     cargo.TrailerType,
                     cargo.UploadDate.ToString(),
                     cargo.Status,
                     cargo.DownloadLocation,
                     cargo.PlaceOfDischarge,
                     Convert.ToString(cargo.Distance)
                 });
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #4
0
        public static bool AddCargo(Cargo cargo)
        {
            try
            {
                DataValidation dataValidation = new DataValidation();

                using (TransportCompanyContext db = new TransportCompanyContext())
                {
                    bool result;
                    if (dataValidation.CheckAllInput(cargo))
                    {
                        db.Cargos.Add(cargo);
                        db.SaveChanges();
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                    return(result);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
예제 #5
0
        public static string SelectAllDetailed(int id)
        {
            StringBuilder result = new StringBuilder();

            try
            {
                using (TransportCompanyContext db = new TransportCompanyContext())
                {
                    var cargos = db.Cargos.ToList();
                    foreach (var cargo in cargos)
                    {
                        if (cargo.Id == id)
                        {
                            result.Append($"Название: {cargo.Name} \nСтоимость: {cargo.Cost} \nВес: {cargo.Weight} \nОбъём: {cargo.Volume} \n" +
                                          $"Тип кузова: { cargo.TrailerType} \nДата загрузки: {cargo.UploadDate} \nСтатус заказа: {cargo.Status} \nМесто загрузки: " +
                                          $"{cargo.DownloadLocation} \nМесто разгрузки: {cargo.PlaceOfDischarge} \nРасстояние: {cargo.Distance}\n");
                        }
                    }
                    return(result.ToString());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(result.ToString());
        }
예제 #6
0
        public static string SelectCargoId(string login)
        {
            string result = null;

            try
            {
                using (TransportCompanyContext db = new TransportCompanyContext())
                {
                    var users = db.Users.ToList();
                    foreach (var user in users)
                    {
                        if (user.Login == login)
                        {
                            result = user.CargoId;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(result);
            }
            return(result);
        }
예제 #7
0
 public static void AddUser(string login, string password)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             User newUser = new User {
                 Login = login, Password = password
             };
             db.Users.Add(newUser);
             db.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #8
0
 public static Cargo SelectById(int id)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             var cargos = db.Cargos.ToList();
             foreach (var cargo in cargos)
             {
                 if (cargo.Id == id)
                 {
                     return(cargo);
                 }
             }
             return(null);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
         return(null);
     }
 }
예제 #9
0
 public static bool CheckCargoInDB(Cargo newCargo)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             var cargos = db.Cargos.ToList();
             foreach (var cargo in cargos)
             {
                 if (cargo.Equals(newCargo))
                 {
                     return(true);
                 }
             }
             return(false);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
         return(false);
     }
 }
예제 #10
0
        public static void UpdateStatus(string status, int id)
        {
            try
            {
                using (TransportCompanyContext db = new TransportCompanyContext())
                {
                    var cargos = db.Cargos.ToList();
                    foreach (var cargo in cargos)
                    {
                        if (cargo.Id == id)
                        {
                            cargo.Status = status;
                        }
                    }

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #11
0
 public static bool CheckUserInDB(string login)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             var users = db.Users.ToList();
             foreach (var user in users)
             {
                 if (user.Login == login)
                 {
                     return(true);
                 }
             }
             return(false);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
         return(false);
     }
 }
예제 #12
0
        public static void UpdateFavourites(string cargoId, string login)
        {
            try
            {
                using (TransportCompanyContext db = new TransportCompanyContext())
                {
                    var users = db.Users.ToList();
                    foreach (var user in users)
                    {
                        if (user.Login == login)
                        {
                            user.CargoId = cargoId;
                        }
                    }

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #13
0
 public static void Select(DataGridView dataGridView1)
 {
     try
     {
         using (TransportCompanyContext db = new TransportCompanyContext())
         {
             var cargos = db.Cargos.ToList();
             foreach (var cargo in cargos)
             {
                 dataGridView1.Rows.Add(new string[] {
                     Convert.ToString(cargo.Id),
                     cargo.Name,
                     Convert.ToString(cargo.Cost),
                     Convert.ToString(cargo.Weight),
                     Convert.ToString(cargo.Volume),
                 });
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #14
0
        //Проверка авторизации пользователя
        public static bool IsUser(string login, string password)
        {
            using (TransportCompanyContext db = new TransportCompanyContext())
            {
                bool result = false;

                try
                {
                    var users = db.Users.ToList();
                    foreach (var user in users)
                    {
                        if (user.Login == login && user.Password == password)
                        {
                            result = true;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
                return(result);
            }
        }
예제 #15
0
        public static void Initialize(TransportCompanyContext db)
        {
            db.Database.EnsureCreated();

            int rows;
            int rowIndex;

            if (!db.CarBrands.Any())
            {
                rows     = 500;
                rowIndex = 0;

                while (rowIndex < rows)
                {
                    CarBrand carBrand = new CarBrand
                    {
                        Name          = GetRandomElement(brands),
                        Specification = GetString(6, 12),
                        Description   = GetString(12, 13)
                    };

                    db.CarBrands.Add(carBrand);

                    rowIndex++;
                }

                db.SaveChanges();
            }

            if (!db.CarTypes.Any())
            {
                rows     = 500;
                rowIndex = 0;

                while (rowIndex < rows)
                {
                    CarType carType = new CarType
                    {
                        Name        = GetRandomElement(types),
                        Description = GetString(8, 13)
                    };
                    db.CarTypes.Add(carType);
                    rowIndex++;
                }

                db.SaveChanges();
            }

            if (!db.Cars.Any())
            {
                rows     = 20000;
                rowIndex = 0;

                int minCarBrandId = db.CarBrands.Min(x => x.Id);
                int maxCarBrandId = db.CarBrands.Max(x => x.Id);

                int minCarTypeId = db.CarTypes.Min(x => x.Id);
                int maxCarTypeId = db.CarTypes.Max(x => x.Id);

                while (rowIndex < rows)
                {
                    Car car = new Car
                    {
                        CarBrandId            = random.Next(minCarBrandId, maxCarBrandId + 1),
                        CarTypeId             = random.Next(minCarTypeId, maxCarTypeId + 1),
                        RegistrationNumber    = GetString(6, 7),
                        BodyNumber            = GetString(3, 5),
                        EngineNumber          = GetString(3, 5),
                        YearOfIssue           = random.Next(2000, 2021),
                        DriverEmployee        = GetString(4, 8),
                        DateOfLastMaintenance = NextDateTime().Date,
                        Mechanic = GetString(4, 8)
                    };
                    db.Cars.Add(car);
                    rowIndex++;
                }

                db.SaveChanges();
            }
        }
예제 #16
0
 public CarsController(TransportCompanyContext context)
 {
     _context = context;
 }