public async Task <ApiResultCode> DeleteTestAsync(DeleteTestCommand datamodel) { if (_unit.Context.Tblusersubmitedanswer.Where(t => t.TestId == datamodel.Id).Any()) { return(new ApiResultCode(ApiResultType.Error, messageText: "Exist test will not delete from record. user have already tacken test!")); } var tbltest = new Tbltest(); tbltest.Id = datamodel.Id; tbltest.Status = 0; tbltest.LastUpdatedBy = datamodel.CurrentUserId; tbltest.LastUpdateDate = DateTime.Now; _unit.Context.Tbltest.Attach(tbltest); _unit.Context.Entry(tbltest).Property(t => t.Status).IsModified = true; _unit.Context.Entry(tbltest).Property(t => t.LastUpdatedBy).IsModified = true; _unit.Context.Entry(tbltest).Property(t => t.LastUpdateDate).IsModified = true; var result = await _unit.SaveChangesAsync(); if (result.ResultType == ApiResultType.Success) { return(new ApiResultCode(ApiResultType.Success, messageText: "Test Deleted!")); } return(new ApiResultCode(ApiResultType.Error, messageText: "Can not Delete!")); }
public async Task <ApiResultCode> CreateTestAsync(CreateTestCommand request) { try { string filter = _unit.Context.Tbltest.Where(t => t.CategoryId == request.CatetoryId).Select(t => t.Name).FirstOrDefault(); var modeldto = new Tbltest(); modeldto.Name = request.Name; modeldto.Description = request.Description; modeldto.NoOfQuestion = request.NoOfQuestion; modeldto.CategoryId = request.CatetoryId; modeldto.InsertDate = DateTime.Now; modeldto.LastUpdateDate = DateTime.Now; modeldto.Status = 1; modeldto.InsertedBy = request.CurrentUserId; modeldto.LastUpdatedBy = request.CurrentUserId; modeldto.ClientId = request.CurrentCientId; if (request.Id > 0) { modeldto.Id = request.Id; _unit.Context.Tbltest.Attach(modeldto); _unit.Context.Entry(modeldto).Property(t => t.Name).IsModified = true; _unit.Context.Entry(modeldto).Property(t => t.Description).IsModified = true; _unit.Context.Entry(modeldto).Property(t => t.NoOfQuestion).IsModified = true; _unit.Context.Entry(modeldto).Property(t => t.CategoryId).IsModified = true; _unit.Context.Entry(modeldto).Property(t => t.LastUpdateDate).IsModified = true; _unit.Context.Entry(modeldto).Property(t => t.LastUpdatedBy).IsModified = true; } else { if (filter != null && filter.ToLower() == request.Name.ToLower()) { return(new ApiResultCode(ApiResultType.Error, messageText: " Duplicate Test can not be Allowed")); } _ = _unit.GetRepository <Tbltest>().Add(modeldto); } var result = await _unit.SaveChangesAsync(); if (result.ResultType == ApiResultType.Success) { return(new ApiResultCode(ApiResultType.Success, messageText: "Added")); } return(new ApiResultCode(ApiResultType.Error, messageText: " Can not be Added")); } catch (Exception ex) { ErrorTrace.Logger(LogArea.RepositoryLayer, ex); return(new ApiResultCode(ApiResultType.Error, messageText: " Can not be Added")); } }