public PrePlanning ReturnPrePlanningDefaults_Update() { PrePlanning generalPrePlanning = new PrePlanning(_prePlanningId_Update, _agencyCode, _branchId, _projectName, _projectNature, _projectTypeId , _projectDescription, _insideKSA, _statusId, _duration, _durationInDays, _durationInMonths, _durationInYears, _yearQuarterId); return(generalPrePlanning); }
public async Task <PrePlanning> UpdateAsync(PrePlanning prePlanning) { _context.PrePlannings.Update(prePlanning); await _context.SaveChangesAsync(); return(prePlanning); }
public async Task <PrePlanningModel> CreateAsync(PrePlanningModel model) { Check.ArgumentNotNull(nameof(model), model); PrePlanning planning; await _prePlanningDomainService.CheckNameExist(model.ProjectName, model.BranchId, model.YearQuarterId, model.AgencyCode, model.PrePlanningId); if (model.PrePlanningId == 0) { planning = new PrePlanning(model.PrePlanningId, model.AgencyCode, model.BranchId, model.ProjectName, model.ProjectNature, model.ProjectTypeId, model.ProjectDescription, model.InsideKSA, (int)Enums.PrePlanningStatus.UnderUpdate, model.Duration, model.DurationInDays, model.DurationInMonths, model.DurationInYears, model.YearQuarterId); planning.IsDurationValid(); planning.AddtAreasCountriesTypes(model.PrePlanningAreaIDs, model.InsideKSA, model.PrePlanningCountriesIDs, model.ProjectTypesIDs); planning = await _genericCommandRepository.CreateAsync <PrePlanning>(planning); } else { planning = await _prePlanningQueries.FindByIdForEdit(model.PrePlanningId); if (planning.StatusId == (int)Enums.PrePlanningStatus.Pending || planning.StatusId == (int)Enums.PrePlanningStatus.Rejected) { throw new UnHandledAccessException(); } planning.Update(model.AgencyCode, model.ProjectName, model.ProjectNature, model.ProjectDescription, model.InsideKSA, (int)Enums.PrePlanningStatus.UnderUpdate, model.Duration, model.DurationInDays, model.DurationInMonths, model.DurationInYears, model.YearQuarterId); planning.IsDurationValid(); planning = planning.UpdatetAreasCountriesTypes(model.PrePlanningAreaIDs, model.InsideKSA, model.PrePlanningCountriesIDs, model.ProjectTypesIDs); _genericCommandRepository.Update <PrePlanning>(planning); } await _genericCommandRepository.SaveAsync(); model.PrePlanningId = planning.PrePlanningId; return(model); }
public async Task Approve(int planningId, string verificationCode) { Check.ArgumentNotNullOrEmpty(nameof(planningId), planningId.ToString()); PrePlanning planning = await _prePlanningQueries.FindById(planningId); if (planning.StatusId != (int)Enums.PrePlanningStatus.Pending) { throw new UnHandledAccessException(); } await CheckForVerificationCode(planningId, verificationCode, (int)Enums.VerificationType.PrePlanning); planning.UpdateStatus(Enums.PrePlanningStatus.Approved, ""); NotificationArguments NotificationArguments = new NotificationArguments { BodyEmailArgs = new object[] { "", planning.ProjectName }, SubjectEmailArgs = new object[] { }, PanelArgs = new object[] { planning.ProjectName }, SMSArgs = new object[] { "", planning.ProjectName } }; MainNotificationTemplateModel approveTender = new MainNotificationTemplateModel(NotificationArguments, $"PrePlanning/Details?id={Util.Encrypt(planning.PrePlanningId)}", NotificationEntityType.prePlanning, planning.PrePlanningId.ToString(), planning.BranchId); await _notificationAppService.SendNotificationForBranchUsers(NotificationOperations.PrePlaningEmployee.OperationsOnPrePlaning.ApprovePreplaning, planning.BranchId, approveTender); _genericCommandRepository.Update <PrePlanning>(planning); await _genericCommandRepository.SaveAsync(); }
public async Task Reject(int planningId, string rejectionReason) { Check.ArgumentNotNullOrEmpty(nameof(planningId), planningId.ToString()); PrePlanning planning = await _prePlanningQueries.FindById(planningId); if (rejectionReason.Length > 500) { throw new BusinessRuleException("سبب الرفض لا يمكن ان يزيد عن 500 حرف."); } if (planning.StatusId == (int)Enums.PrePlanningStatus.Approved && planning.IsDeleteRequested) { planning.SetDeActiveRequest(false); planning.SetDeleteRejectionReason(rejectionReason); } else if (planning.StatusId != (int)Enums.PrePlanningStatus.Pending) { throw new UnHandledAccessException(); } else { planning.UpdateStatus(Enums.PrePlanningStatus.Rejected, rejectionReason); } NotificationArguments NotificationArguments = new NotificationArguments { BodyEmailArgs = new object[] { "", planning.ProjectName, }, SubjectEmailArgs = new object[] { }, PanelArgs = new object[] { planning.ProjectName }, SMSArgs = new object[] { planning.ProjectName } }; MainNotificationTemplateModel approveTender = new MainNotificationTemplateModel(NotificationArguments, $"PrePlanning/Details?id={Util.Encrypt(planning.PrePlanningId)}", NotificationEntityType.prePlanning, planning.PrePlanningId.ToString(), planning.BranchId); await _notificationAppService.SendNotificationForBranchUsers(NotificationOperations.PrePlaningEmployee.OperationsOnPrePlaning.RejectPreplaning, planning.BranchId, approveTender); _genericCommandRepository.Update <PrePlanning>(planning); await _genericCommandRepository.SaveAsync(); }
public async Task <PrePlanning> CreateAsync(PrePlanning prePlanning) { await _context.PrePlannings.AddAsync(prePlanning); await _context.SaveChangesAsync(); return(prePlanning); }
public PrePlanning GetPrePlanningDataForReOpen() { PrePlanning generalPrePlanning = new PrePlanning(_prePlanningId_Update, _agencyCode, _branchId, _projectName, _projectNature, _projectTypeId , _projectDescription, _insideKSA, 4, _duration, _durationInDays, _durationInMonths, _durationInYears, _yearQuarterId); generalPrePlanning.SetDeActiveRequest(true); return(generalPrePlanning); }
public async Task ReOpenForCancelation(int planningId) { Check.ArgumentNotNullOrEmpty(nameof(planningId), planningId.ToString()); PrePlanning planning = await _prePlanningQueries.FindById(planningId); if (planning.StatusId != (int)Enums.PrePlanningStatus.Approved && planning.IsDeleteRequested && !string.IsNullOrEmpty(planning.DeleteRejectionReason)) { throw new UnHandledAccessException(); } planning.RemoveCancelationRejectReason(); _genericCommandRepository.Update <PrePlanning>(planning); await _genericCommandRepository.SaveAsync(); }
public async Task ReOpen(int planningId) { Check.ArgumentNotNullOrEmpty(nameof(planningId), planningId.ToString()); PrePlanning planning = await _prePlanningQueries.FindById(planningId); if (planning.StatusId != (int)Enums.PrePlanningStatus.Rejected) { throw new UnHandledAccessException(); } planning.UpdateStatus(Enums.PrePlanningStatus.UnderUpdate, ""); _genericCommandRepository.Update <PrePlanning>(planning); await _genericCommandRepository.SaveAsync(); }
public async Task <int> Deactivate(int id, bool userRole) { PrePlanning prePlanning = _context.PrePlannings.Find(id); if (prePlanning.StatusId == (int)Enums.PrePlanningStatus.Approved && userRole) { prePlanning.SetDeActiveRequest(true); } else { prePlanning.DeActive(); } _context.PrePlannings.Update(prePlanning); return(await _context.SaveChangesAsync()); }