public AddDefinitionResponse AddDefinition(AddDefinitionRequest request) { if (string.Equals(request.Type, "description", StringComparison.InvariantCultureIgnoreCase)) { return AddMidtermStageDescription(request); } return AddMidtermStageKey(request); }
private AddDefinitionResponse AddMidtermStageKey(AddDefinitionRequest request) { try { var stageKey = request.MapTo<MidtermPhaseKeyDriver>(); if (request.Id == 0) { var formulation = new MidtermPhaseFormulationStage { Id = request.MidtermPhaseStageId }; stageKey.Formulation = formulation; DataContext.MidtermPhaseFormulationStages.Attach(formulation); DataContext.MidtermPhaseKeyDrivers.Add(stageKey); } else { stageKey = DataContext.MidtermPhaseKeyDrivers.First(x => x.Id == request.Id); stageKey.Value = request.Value; } DataContext.SaveChanges(); return new AddDefinitionResponse { IsSuccess = true, Message = "New Stage has been added", Id = stageKey.Id, Value = stageKey.Value }; } catch { return new AddDefinitionResponse { IsSuccess = false, Message = "An error has been occured, please contact the administrator for further information" }; } }