protected void OnButtonCloseRouteListClicked(object sender, EventArgs e) { var valid = new QSValidator <RouteList>(Entity, new Dictionary <object, object> { { "NewStatus", RouteListStatus.Closed } }); if (valid.RunDlgIfNotValid((Window)this.Toplevel)) { return; } if (Entity.ConfirmedDistance < Entity.ActualDistance && !Entity.Car.IsCompanyHavings) { decimal excessKM = Entity.ActualDistance - Entity.ConfirmedDistance; decimal redundantPayForFuel = Entity.GetLitersOutlayed(excessKM) * Entity.Car.FuelType.Cost; string fineReason = "Перевыплата топлива"; var fine = new Fine(); fine.Fill(redundantPayForFuel, Entity, fineReason, DateTime.Today, Entity.Driver); fine.Author = EmployeeRepository.GetEmployeeForCurrentUser(UoW); fine.UpdateWageOperations(UoWGeneric); UoWGeneric.Save(fine); } else { Entity.RecalculateFuelOutlay(); } yspinConfirmedDistance.Sensitive = false; buttonConfirm.Sensitive = false; buttonCloseRouteList.Sensitive = false; Entity.ConfirmMileage(UoWGeneric); }