public IActionResult _AddEditInvitationCode() { var result = _invitationCodesService.GetAll().ToList(); if (result.Count > 0) { var invitationCodeModel = new InvitationCodeDto() { NoOfFreeDays = result.FirstOrDefault().NumberOfFreeDays, NoOfFreeQuestions = result.FirstOrDefault().NumberOfFreeQuestions, ExpirationDays = result.FirstOrDefault().ExpirationDays, Id = result.FirstOrDefault().Id }; return(View(@"Components/_AddEditInvitationCode", invitationCodeModel)); } return(View(@"Components/_AddEditInvitationCode", new InvitationCodeDto { Id = 0 })); }
public async Task <IActionResult> AddEditInvitationCode(InvitationCodeDto model) { using (var txscope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { if (!ModelState.IsValid) { txscope.Dispose(); RedirectToAction("_AddEditInvitationCode", model.Id); } if (model.Id == 0) { var invitationCodeObj = Mapper.Map <InvitationCode>(model); invitationCodeObj.IsActive = true; invitationCodeObj.NumberOfFreeDays = model.NoOfFreeDays; invitationCodeObj.NumberOfFreeQuestions = model.NoOfFreeQuestions; invitationCodeObj.ExpirationDays = model.ExpirationDays; var result = await _invitationCodesService.InsertAsync(invitationCodeObj, Accessor, User.GetUserId()); if (result != null) { //StaffLog if (User.IsInRole(UserRoles.Staff)) { await _staffLog.InsertAsync(new Log { CreatedDate = DateTime.UtcNow, StaffId = User.GetUserId(), Description = ResponseConstants.CreateInvitaionCode }, Accessor, User.GetUserId()); } txscope.Complete(); return(JsonResponse.GenerateJsonResult(1, ResponseConstants.CreateInvitaionCode)); } } else if (model != null) { var result = await _invitationCodesService.GetSingleAsync(x => x.Id == model.Id && x.IsActive == true && x.IsDelete == false); result.NumberOfFreeDays = model.NoOfFreeDays; result.NumberOfFreeQuestions = model.NoOfFreeQuestions; result.ExpirationDays = model.ExpirationDays; result.IsActive = true; await _invitationCodesService.UpdateAsync(result, Accessor, User.GetUserId()); //StaffLog if (User.IsInRole(UserRoles.Staff)) { await _staffLog.InsertAsync(new Log { CreatedDate = DateTime.UtcNow, StaffId = User.GetUserId(), Description = ResponseConstants.UpdateInvitationCode }, Accessor, User.GetUserId()); } txscope.Complete(); return(JsonResponse.GenerateJsonResult(1, ResponseConstants.UpdateInvitationCode)); } else { txscope.Dispose(); return(JsonResponse.GenerateJsonResult(0, ResponseConstants.SomethingWrong)); } txscope.Dispose(); return(JsonResponse.GenerateJsonResult(0, ResponseConstants.SomethingWrong)); } catch (Exception ex) { txscope.Dispose(); ErrorLog.AddErrorLog(ex, "CreateInvitationCodeSetUp"); return(Json(ResponseConstants.SomethingWrong)); } } }