public OperationResult Update(ReplyRequest model) { var checkListValueList = new List <string>(); var fieldValueList = new List <string>(); var core = _coreHelper.GetCore(); try { model.ElementList.ForEach(element => { checkListValueList.AddRange(CaseUpdateHelper.GetCheckList(element)); fieldValueList.AddRange(CaseUpdateHelper.GetFieldList(element)); }); } catch (Exception exception) { return(new OperationResult(false, "Case could not be updated")); } try { core.CaseUpdate(model.Id, fieldValueList, checkListValueList); return(new OperationResult(true, "Case has been updated")); } catch (Exception) { return(new OperationResult(false, "Case could not be updated")); } }
public OperationResult Update(ReplyRequest model) { var checkListValueList = new List <string>(); var fieldValueList = new List <string>(); var core = _coreHelper.GetCore(); try { model.ElementList.ForEach(element => { checkListValueList.AddRange(CaseUpdateHelper.GetCheckList(element)); fieldValueList.AddRange(CaseUpdateHelper.GetFieldList(element)); }); } catch (Exception) { return(new OperationResult(false, LocaleHelper.GetString("CaseCouldNotBeUpdated"))); } try { core.CaseUpdate(model.Id, fieldValueList, checkListValueList); core.CaseUpdateFieldValues(model.Id); return(new OperationResult(true, LocaleHelper.GetString("CaseHasBeenUpdated"))); } catch (Exception) { return(new OperationResult(false, LocaleHelper.GetString("CaseCouldNotBeUpdated"))); } }
public async Task <OperationResult> Update(ReplyRequest model) { var checkListValueList = new List <string>(); var fieldValueList = new List <string>(); var core = await _coreHelper.GetCore(); var locale = await _userService.GetCurrentUserLocale(); var language = core.DbContextHelper.GetDbContext().Languages.Single(x => x.LanguageCode.ToLower() == locale.ToLower()); try { model.ElementList.ForEach(element => { checkListValueList.AddRange(CaseUpdateHelper.GetCheckList(element)); fieldValueList.AddRange(CaseUpdateHelper.GetFieldList(element)); }); } catch (Exception ex) { Log.LogException(ex.Message); Log.LogException(ex.StackTrace); return(new OperationResult(false, _localizationService.GetString("CaseCouldNotBeUpdated") + $" Exception: {ex.Message}")); } try { await core.CaseUpdate(model.Id, fieldValueList, checkListValueList); await core.CaseUpdateFieldValues(model.Id, language); if (CaseUpdateDelegates.CaseUpdateDelegate != null) { var invocationList = CaseUpdateDelegates.CaseUpdateDelegate .GetInvocationList(); foreach (var func in invocationList) { func.DynamicInvoke(model.Id); } } return(new OperationResult(true, _localizationService.GetString("CaseHasBeenUpdated"))); } catch (Exception ex) { Log.LogException(ex.Message); Log.LogException(ex.StackTrace); return(new OperationResult(false, _localizationService.GetString("CaseCouldNotBeUpdated") + $" Exception: {ex.Message}")); } }
public async Task <OperationResult> Update(ReplyRequest model) { var checkListValueList = new List <string>(); var fieldValueList = new List <string>(); var core = await _coreHelper.GetCore(); var language = await _userService.GetCurrentUserLanguage(); try { model.ElementList.ForEach(element => { checkListValueList.AddRange(CaseUpdateHelper.GetCheckList(element)); fieldValueList.AddRange(CaseUpdateHelper.GetFieldList(element)); }); } catch (Exception ex) { Log.LogException(ex.Message); Log.LogException(ex.StackTrace); return(new OperationResult(false, $"{_localizationService.GetString("CaseCouldNotBeUpdated")} Exception: {ex.Message}")); } try { await core.CaseUpdate(model.Id, fieldValueList, checkListValueList); await core.CaseUpdateFieldValues(model.Id, language); if (model.IsDoneAtEditable) { var sdkDbContext = core.DbContextHelper.GetDbContext(); var foundCase = await sdkDbContext.Cases .Where(x => x.Id == model.Id && x.WorkflowState != Constants.WorkflowStates.Removed) .FirstOrDefaultAsync(); if (foundCase != null) { if (foundCase.DoneAt != null) { var newDoneAt = new DateTime(model.DoneAt.Year, model.DoneAt.Month, model.DoneAt.Day, foundCase.DoneAt.Value.Hour, foundCase.DoneAt.Value.Minute, foundCase.DoneAt.Value.Second); foundCase.DoneAtUserModifiable = newDoneAt; } await foundCase.Update(sdkDbContext); } else { return(new OperationResult(false, _localizationService.GetString("CaseNotFound"))); } } if (CaseUpdateDelegates.CaseUpdateDelegate != null) { var invocationList = CaseUpdateDelegates.CaseUpdateDelegate .GetInvocationList(); foreach (var func in invocationList) { func.DynamicInvoke(model.Id); } } return(new OperationResult(true, _localizationService.GetString("CaseHasBeenUpdated"))); } catch (Exception ex) { Log.LogException(ex.Message); Log.LogException(ex.StackTrace); return(new OperationResult(false, _localizationService.GetString("CaseCouldNotBeUpdated") + $" Exception: {ex.Message}")); } }
public async Task <OperationResult> Update(ReplyRequest model) { var checkListValueList = new List <string>(); var fieldValueList = new List <string>(); var core = await _coreHelper.GetCore(); var language = await _userService.GetCurrentUserLanguage(); var currentUser = await _userService.GetCurrentUserAsync(); try { model.ElementList.ForEach(element => { checkListValueList.AddRange(CaseUpdateHelper.GetCheckList(element)); fieldValueList.AddRange(CaseUpdateHelper.GetFieldList(element)); }); } catch (Exception ex) { Log.LogException(ex.Message); Log.LogException(ex.StackTrace); return(new OperationResult(false, $"{_localizationService.GetString("CaseCouldNotBeUpdated")} Exception: {ex.Message}")); } try { await core.CaseUpdate(model.Id, fieldValueList, checkListValueList); await core.CaseUpdateFieldValues(model.Id, language); var sdkDbContext = core.DbContextHelper.GetDbContext(); var foundCase = await sdkDbContext.Cases .Where(x => x.Id == model.Id && x.WorkflowState != Constants.WorkflowStates.Removed) .FirstOrDefaultAsync(); if (foundCase != null) { if (foundCase.DoneAt != null) { var newDoneAt = new DateTime(model.DoneAt.Year, model.DoneAt.Month, model.DoneAt.Day, foundCase.DoneAt.Value.Hour, foundCase.DoneAt.Value.Minute, foundCase.DoneAt.Value.Second); foundCase.DoneAtUserModifiable = newDoneAt; } // foundCase.SiteId = sdkDbContext.Sites // .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) // .Single(x => x.Name == $"{currentUser.FirstName} {currentUser.LastName}").Id; foundCase.Status = 100; await foundCase.Update(sdkDbContext); var planningCase = await _dbContext.PlanningCases.SingleAsync(x => x.MicrotingSdkCaseId == model.Id); var planningCaseSite = await _dbContext.PlanningCaseSites.SingleOrDefaultAsync(x => x.MicrotingSdkCaseId == model.Id && x.PlanningCaseId == planningCase.Id); if (planningCaseSite == null) { planningCaseSite = new PlanningCaseSite() { MicrotingSdkCaseId = model.Id, PlanningCaseId = planningCase.Id, MicrotingSdkeFormId = planningCase.MicrotingSdkeFormId, PlanningId = planningCase.PlanningId, Status = 100, MicrotingSdkSiteId = (int)foundCase.SiteId }; await planningCaseSite.Create(_dbContext); } planningCaseSite.MicrotingSdkCaseDoneAt = foundCase.DoneAtUserModifiable; planningCaseSite = await SetFieldValue(planningCaseSite, foundCase.Id, language); await planningCaseSite.Update(_dbContext); planningCase.MicrotingSdkCaseDoneAt = foundCase.DoneAtUserModifiable; planningCase = await SetFieldValue(planningCase, foundCase.Id, language); await planningCase.Update(_dbContext); } else { return(new OperationResult(false, _localizationService.GetString("CaseNotFound"))); } return(new OperationResult(true, _localizationService.GetString("CaseHasBeenUpdated"))); } catch (Exception ex) { Log.LogException(ex.Message); Log.LogException(ex.StackTrace); return(new OperationResult(false, _localizationService.GetString("CaseCouldNotBeUpdated") + $" Exception: {ex.Message}")); } }