public async Task <long> addWorkOrder(JobViewModel JobModel) { var repo = _unitofwork.GetRepository <WorkOrderTBL>(); var newWorkOrder = _map.Map <WorkOrderTBL>(JobModel); newWorkOrder.WOTime = DateTime.Now.ToString("HH:MM"); newWorkOrder.WODate = DateExtensions.ConvertToWesternArbicNumerals(new PersianDateTime(DateTime.Now).ToShortDateString()); newWorkOrder.RequestDate = newWorkOrder.WODate; var records = repo.GetAll(q => q.WODate.Substring(0, 4) == newWorkOrder.WODate.Substring(0, 4)); if (records.Any()) { newWorkOrder.WONo = repo.GetAll(q => q.WODate.Substring(0, 4) == newWorkOrder.WODate.Substring(0, 4)).Max(q => q.WONo) + 1; } else { newWorkOrder.WONo = Convert.ToInt64((newWorkOrder.WODate.Substring(0, 4) + "000001")); } newWorkOrder.ConsComment = 45; newWorkOrder.OprCode = null; newWorkOrder.WoType = 1; var ARInfo = _map.Map <TahvilFormsViewModel>(_unitofwork.GetRepository <TahvilForms>().GetFirstOrDefault(predicate: q => q.AmvalNo.ToString() == JobModel.AR)); if (ARInfo != null) { newWorkOrder.AskerCode = ARInfo.DevilerCodeOrigin; } else { newWorkOrder.WONo = -1; } await repo.InsertAsync(newWorkOrder); _unitofwork.SaveChanges(); return(newWorkOrder.WONo); }