private void InventorybBgWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { //GetEthiopianDate() Why is it so difficult and Complicated we just need a fluent Api for EthiopianDate DateTime.ToEthiopianDate(),DateTime.ToShortEthiopianDate(), DateTime dtCurrent; using (var dtDate = ConvertDate.GetCurrentEthiopianDateText()) { dtCurrent = ConvertDate.DateConverter(dtDate.Text); } // Do validation int userId = CurrentContext.UserId; int physicalStoreID = Convert.ToInt32(lkInventoryStore.EditValue); int periodId = Convert.ToInt32(lkPeriod.EditValue); int activityID = Convert.ToInt32(lkInventoryAccount.EditValue); TransferService transferService = new TransferService(); try { InventoryService.CommitInventory(periodId, activityID, physicalStoreID, dtCurrent, userId, InventoryBgWorker); XtraMessageBox.Show("Your changes have been applied.", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exp) { XtraMessageBox.Show(exp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); InventoryBgWorker.CancelAsync(); } }