示例#1
0
        public void SetCurrentAutodealer()
        {
            RefreshContext();

            if (Session.UserController.IsAuthorized)
            {
                var autodealerId = (int)_BinaryFormatter.Deserialize(_NetworkStream);

                CurrentAutodealer = AutodealersContext.Autodealer.FirstOrDefault(a => a.AutodealerId == autodealerId);

                if (CurrentAutodealer == null)
                {
                    Session.SendErrorMessage("Автосалон не выбран!");
                }
                else
                {
                    _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success);
                    Session.CarController.IsFilteringEnabled = false;

                    if (!Session.UserController.CurrentUser.SuperUser)
                    {
                        Session.StatisticsController.AddVisitToAutodealer(Session.AutodealerController.CurrentAutodealer);
                    }
                }
            }
            else
            {
                Session.SendErrorMessage("Для этого действия требуется авторизация");
            }

            RefreshContext();
        }
示例#2
0
        private void GetCurrentAutodealer()
        {
            try
            {
                Connection.BinaryFormatter.Serialize(Connection.NetworkStream, MessageType.Action);
                Connection.BinaryFormatter.Serialize(Connection.NetworkStream, ActionType.GetCurrentAutodealer);

                var messageType = (MessageType)Connection.BinaryFormatter.Deserialize(Connection.NetworkStream);

                if (messageType == MessageType.Success)
                {
                    _CurrentAutodealer = (Autodealer)Connection.BinaryFormatter.Deserialize(Connection.NetworkStream);
                }
                else
                {
                    var message = (string)Connection.BinaryFormatter.Deserialize(Connection.NetworkStream);
                    MessageBox.Show(message, "Ошибка!", MessageBoxButtons.OK);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK);
                Environment.Exit(0);
            }
        }
示例#3
0
 private void SetValues(Autodealer autodealer)
 {
     TitleTextBox.Text = autodealer.Title;
     string[] times = autodealer.WorkingHours.Split('-');
     TimeFrom.Value      = DateTime.Parse(times[0]);
     TimeTo.Value        = DateTime.Parse(times[1]);
     CityTextBox.Text    = autodealer.City;
     AddressTextBox.Text = autodealer.Address;
 }
        public void AddVisitToAutodealer(Autodealer autodealer)
        {
            RefreshContext();

            var autodealerCurrentMonthStatistics = AutodealersContext.Statistics.ToList().FirstOrDefault(s => s.Month == (Month)DateTime.Now.Month && s.Year == DateTime.Now.Year && s.AutodealerId == autodealer.AutodealerId);

            if (autodealerCurrentMonthStatistics != null)
            {
                autodealerCurrentMonthStatistics.CountOfClients++;
                AutodealersContext.SaveChanges();
            }
            RefreshContext();
        }
        public bool AddSaleToAutodealer(Car car, Autodealer autodealer)
        {
            RefreshContext();

            var autodealerCurrentMonthStatistics = AutodealersContext.Statistics.ToList().FirstOrDefault(s => s.Month == (Month)DateTime.Now.Month && s.Year == DateTime.Now.Year && s.AutodealerId == autodealer.AutodealerId);

            if (autodealerCurrentMonthStatistics != null)
            {
                autodealerCurrentMonthStatistics.CountOfCarsSold++;
                autodealerCurrentMonthStatistics.TotalSales += car.Price;
                autodealerCurrentMonthStatistics.Profit     += car.AllowanceOrDiscount;

                AutodealersContext.SaveChanges();

                RefreshContext();

                return(true);
            }
            RefreshContext();

            return(false);
        }
示例#6
0
 public AutodealerEditForm(Autodealer autodealer) : this()
 {
     SetValues(autodealer);
 }
示例#7
0
        public void Add()
        {
            RefreshContext();

            var receivedAutodealer = (Autodealer)_BinaryFormatter.Deserialize(_NetworkStream);

            if (Session.UserController.IsAuthorized)
            {
                if (Session.UserController.CurrentUser.SuperUser)
                {
                    if (Session.AutodealerController.CurrentAutodealer != null)
                    {
                        if (receivedAutodealer != null)
                        {
                            if (!Regex.IsMatch(receivedAutodealer.Title, "^[A-Za-zА-Яа-я0-9 -]+$"))
                            {
                                Session.SendErrorMessage("Название введено некорректно!");
                                return;
                            }
                            if (receivedAutodealer.Title.Length > 100)
                            {
                                Session.SendErrorMessage("Название автосалона должно состоять максимум из 100 символов!");
                                return;
                            }

                            if (!Regex.IsMatch(receivedAutodealer.City, "^[A-Za-zА-Яа-я]+$"))
                            {
                                Session.SendErrorMessage("Город введен некорректно!");
                                return;
                            }
                            if (receivedAutodealer.City.Length > 50)
                            {
                                Session.SendErrorMessage("Название города должно состоять максимум из 50 символов!");
                                return;
                            }

                            if (receivedAutodealer.Address != "")
                            {
                                if (!Regex.IsMatch(receivedAutodealer.Address, "^[A-Za-zА-Яа-я0-9 .,-]+$"))
                                {
                                    Session.SendErrorMessage("Адрес введен некорректно!");
                                    return;
                                }
                                if (receivedAutodealer.Address.Length > 50)
                                {
                                    Session.SendErrorMessage("Адрес должен состоять максимум из 50 символов!");
                                    return;
                                }
                            }
                            else
                            {
                                receivedAutodealer.Address = null;
                            }

                            var autodealer = new Autodealer
                            {
                                Title        = receivedAutodealer.Title,
                                WorkingHours = receivedAutodealer.WorkingHours,
                                City         = receivedAutodealer.City,
                                Address      = receivedAutodealer.Address
                            };

                            AutodealersContext.Autodealer.Add(autodealer);

                            AutodealersContext.SaveChanges();

                            _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success);

                            AutodealersContext.Statistics.Add(new Statistics
                            {
                                AutodealerId = autodealer.AutodealerId,
                                Month        = (Month)DateTime.Now.Month,
                                Year         = DateTime.Now.Year
                            });
                            AutodealersContext.SaveChanges();
                        }
                        else
                        {
                            Session.SendErrorMessage("Сделка не найдена!");
                        }
                    }
                    else
                    {
                        Session.SendErrorMessage("Автосалон не найден!");
                    }
                }
                else
                {
                    Session.SendErrorMessage("Для этого действия требуются права администратора!");
                }
            }
            else
            {
                Session.SendErrorMessage("Для этого действия требуется авторизация!");
            }

            RefreshContext();
        }