Esempio n. 1
0
        private void CreateShipment_OK_Click(object sender, EventArgs e)
        {
            ValidateChildren();
            if (Company_Validation.Text == "" && City_Validation.Text == "" && Country_Validation.Text == "" && Quantity_Validation.Text == "" && Sum_Validation.Text == "")
            {
                DtoShipmentsViewModel = new DTOShipmentsViewModel
                {
                    ShipmentDate = DateTime.Now,
                    Company      = CompanyBox.Text,
                    City         = CityBox.Text,
                    Country      = CountryBox.Text,
                    Login        = LoginUser,
                    Quantity     = Convert.ToInt32(QuantityBox.Text),
                    Sum          = Convert.ToDecimal(SumBox.Text),
                };

                var responce = ShipmentService.CreateShipment(DtoShipmentsViewModel);

                if (responce.Responce == null)
                {
                    DtoShipmentsViewModel.Id          = responce.Id;
                    DtoShipmentsViewModel.SurnameName = responce.SurnameName;
                    MessageBox.Show("Shipment was added");
                    DialogResult = DialogResult.OK;
                    Close();
                }
                CreateShipment_Validation.Text = responce.Responce;
            }
        }
Esempio n. 2
0
        public DTOCreateShipmentViewModel CreateShipment(DTOShipmentsViewModel dtoShipmentsViewModel)
        {
            var userCurrent = Database.GetManager(dtoShipmentsViewModel.Login);
            DTOCreateShipmentViewModel dtoCreateShipmentViewModel = new DTOCreateShipmentViewModel();

            if (userCurrent != null)
            {
                Shipment shipment = new Shipment
                {
                    ShipmentDate = dtoShipmentsViewModel.ShipmentDate,
                    Company      = dtoShipmentsViewModel.Company,
                    City         = dtoShipmentsViewModel.City,
                    Country      = dtoShipmentsViewModel.Country,
                    Quantity     = dtoShipmentsViewModel.Quantity,
                    Sum          = dtoShipmentsViewModel.Sum
                };

                // If first manager`s shipment.
                if (Database.Shipments.GetShipment(dtoShipmentsViewModel.Login) == null)
                {
                    return(CreateShipmentExtension(shipment, userCurrent, dtoCreateShipmentViewModel));
                }

                // If first manager`s shipment on current month and year.
                if (Database.Shipments.GetShipment(dtoShipmentsViewModel.Login, dtoShipmentsViewModel.ShipmentDate.Year, dtoShipmentsViewModel.ShipmentDate.Month) == null)
                {
                    var maxDateShipment = Database.Shipments.MaxDateShipment(dtoShipmentsViewModel.Login);

                    var averageSumLastMonth = Database.Shipments.AverageSum(dtoShipmentsViewModel.Login, maxDateShipment.Year, maxDateShipment.Month);

                    if (dtoShipmentsViewModel.Sum > averageSumLastMonth + 500)
                    {
                        dtoCreateShipmentViewModel.Responce = "Sum must be no more " + (averageSumLastMonth + 500) + " (average Sum of last month where were shipments for the current manager)+500.";
                        return(dtoCreateShipmentViewModel);
                    }
                    return(CreateShipmentExtension(shipment, userCurrent, dtoCreateShipmentViewModel));
                }

                // Sum< average sum on current month for current manager +500
                var averageSumCurrentMonth = Database.Shipments.AverageSum(dtoShipmentsViewModel.Login, dtoShipmentsViewModel.ShipmentDate.Year, dtoShipmentsViewModel.ShipmentDate.Month);

                if (dtoShipmentsViewModel.Sum > averageSumCurrentMonth + 500)
                {
                    dtoCreateShipmentViewModel.Responce = "Sum must be no more " + (averageSumCurrentMonth + 500) + " (average Sum of current month for the current manager)+500";
                    return(dtoCreateShipmentViewModel);
                }
                return(CreateShipmentExtension(shipment, userCurrent, dtoCreateShipmentViewModel));
            }
            dtoCreateShipmentViewModel.Responce = "Close this window and reset program.";
            return(dtoCreateShipmentViewModel);
        }