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; } }
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); }