public void SetFinancialYear(FinancialYear financialYear) { FinancialYear = Mapper.Map <FinancialYear, EditableFinancialYear>(financialYear); FinancialYear.ValidationDelegate += FinancialYear_ValidationDelegate; FinancialYear.ErrorsChanged += RaiseCanExecuteChanged; }
private async void OnSave() { PersianCalendar persianCalendar = new PersianCalendar(); var startDate = persianCalendar.GetYear(FinancialYear.StartDate); var endDate = persianCalendar.GetYear(FinancialYear.EndDate); var year = FinancialYear.YearName; if (year != 0) { if (startDate != year || endDate != year) { Error?.Invoke("تاریخ شروع یا پایان با نام سال مالی منطبق نیست"); } else if (startDate == year && endDate == year) { if (FinancialYear.StartDate > FinancialYear.EndDate) { Error?.Invoke("تاریخ شروع نباید از تاریخ پایان بزرگتر باشد"); } else { var editingFinancialYear = Mapper.Map <EditableFinancialYear, FinancialYear>(FinancialYear); try { if (EditMode) { await _financialYearsService.UpdateFinancialYearAsync(editingFinancialYear); } else { await _financialYearsService.AddFinancialYearAsync(editingFinancialYear); } Done?.Invoke(); } catch (Exception ex) { Failed(ex); } finally { FinancialYear = null; } } } } else { Error?.Invoke("سال مالی را وارد نمایید"); } }