public ActionResult Edit([Bind(Include = "ID,LastName,FirstName,Email,Password,UserRoleMasterID,UserDetailMaster")] UserMaster userMaster, HttpPostedFileBase upload) { ///Another way to perfrom multiple table update is using AutoMapper. Need to discuss pro and cons. ///http://stackoverflow.com/questions/15336248/entity-framework-5-updating-a-record UserMaster original = uow.UserRepository.Get( filter: u => u.ID == userMaster.ID, includeProperties: "UserDetailMaster,UserFiles" ).SingleOrDefault(); if (ModelState.IsValid) { original.LastName = userMaster.LastName; original.FirstName = userMaster.FirstName; original.Password = userMaster.Password; original.Email = userMaster.Email; if (upload != null && upload.ContentLength > 0) { if (original.UserFiles != null) { UserFileMaster ufm = uow.UserFileRepository.GetFileByUserID(original.ID); uow.UserFileRepository.Delete(ufm); uow.Save(); } var image = new UserFileMaster { FileName = System.IO.Path.GetFileName(upload.FileName), FileType = FileType.ProfilePic, ContentType = upload.ContentType, UserMasterID = userMaster.ID }; using (var reader = new System.IO.BinaryReader(upload.InputStream)) { image.Content = reader.ReadBytes(upload.ContentLength); } original.UserFiles = image; } if (original.UserDetailMaster != null) { UserDetailMaster udm = uow.UserDetailRepository.GetUserDetailByUserID(original.ID); uow.UserDetailRepository.Delete(udm); uow.Save(); } original.UserDetailMaster = userMaster.UserDetailMaster; original.UserDetailMaster.UserMasterID = userMaster.ID; original.UserRoleMasterID = 1; uow.UserRepository.Update(original); uow.Save(); } //ViewBag.UserRoleMasterID = new SelectList(db.UserRoleMasters, "ID", "Name", userMaster.UserRoleMasterID); return(View(original)); }
public APIResponse UploadUserDetail(UsersDetails usersDetails) { UsersDetailsModel details = new UsersDetailsModel(); APIResponse response = new APIResponse(); try { using (TestEngineEntities testEngineEntities = new TestEngineEntities()) { UserDetailMaster users = new UserDetailMaster(); users.Id = Guid.NewGuid(); users.UserTitle = usersDetails.UserTitleName; users.CreatedDate = DateTime.Now; users.ModifiedDate = DateTime.Now; users.IsDeleted = false; testEngineEntities.UserDetailMasters.Add(users); foreach (var item in usersDetails.UsersDetailsModel) { DefaultRegistation defaultRegistation = new DefaultRegistation(); defaultRegistation.ID = Guid.NewGuid(); defaultRegistation.UserDetailId = users.Id; defaultRegistation.Name = item.Name; defaultRegistation.Email = item.Email; defaultRegistation.MobileNumber = item.MobileNumber; defaultRegistation.Degree = item.Degree; defaultRegistation.Institution = item.Institution; defaultRegistation.Major = item.Major; defaultRegistation.Percentage = item.Percentage; defaultRegistation.Gender = item.Gender; defaultRegistation.Address = item.Address; defaultRegistation.CustomField1 = item.CustomField1; defaultRegistation.CustomField2 = item.CustomField2; defaultRegistation.CustomField3 = item.CustomField3; defaultRegistation.CustomField4 = item.CustomField4; defaultRegistation.CustomField5 = item.CustomField5; defaultRegistation.CustomField6 = item.CustomField6; defaultRegistation.CustomField7 = item.CustomField7; defaultRegistation.CustomField8 = item.CustomField8; defaultRegistation.CustomField9 = item.CustomField9; defaultRegistation.CustomField10 = item.CustomField10; testEngineEntities.DefaultRegistations.Add(defaultRegistation); } testEngineEntities.SaveChanges(); response.Result = true; } } catch (Exception ex) { throw ex; } return(response); }
public UserDetailMaster UserDetailEdit(Guid?UserDetailId) { UserDetailMaster details = new UserDetailMaster(); APIResponse response = new APIResponse(); try { using (DBEntities testEngineEntities = new DBEntities()) { details = testEngineEntities.UserDetailMasters.Where(x => x.Id == UserDetailId && x.IsDeleted == false).FirstOrDefault(); } } catch (Exception ex) { throw ex; } return(details); }
public string PostCreateAssessment(PostAssessmentModal postAssessmentModal, Guid AssessmentId) { string result = "Failed"; dateTime = DateTime.UtcNow.AddHours(5).AddMinutes(30); try { using (DBEntities TestEngineDBContext = new DBEntities()) { var assesmentDetailMaster = new DataAccess.AssessmentDetailMaster(); assesmentDetailMaster.AssessmentName = postAssessmentModal.AssessmentName; assesmentDetailMaster.ID = AssessmentId; assesmentDetailMaster.CreatedDate = dateTime; assesmentDetailMaster.IsBrowserLock = postAssessmentModal.IsBrowserLockEnabled; assesmentDetailMaster.IsPrintScreenLock = postAssessmentModal.IsPrintScreenLockEnabled; assesmentDetailMaster.IsDeleted = false; assesmentDetailMaster.ModifiedDate = dateTime; assesmentDetailMaster.ScheduledEndDatetime = postAssessmentModal.ScheduleTo; assesmentDetailMaster.ScheduledStartDatetime = postAssessmentModal.ScheduleFrom; assesmentDetailMaster.EligibilityCriteriaId = postAssessmentModal.SelectedShortListCriteria; //Question bank updation List <AssessmentQuestionBankDetail> lstAssessmentQuestionBankDetail = new List <AssessmentQuestionBankDetail>(); foreach (var item in postAssessmentModal.LstQuestionBankSelected) { var questionBankInfo = TestEngineDBContext.QuestionBankMasters.FirstOrDefault(x => x.ID == item); if (questionBankInfo != null) { AssessmentQuestionBankDetail objAssessmentQuestionBankDetail = new AssessmentQuestionBankDetail(); objAssessmentQuestionBankDetail.AssessmentID = assesmentDetailMaster.ID; objAssessmentQuestionBankDetail.IsDeleted = false; objAssessmentQuestionBankDetail.CreatedDate = dateTime; objAssessmentQuestionBankDetail.ID = Guid.NewGuid(); objAssessmentQuestionBankDetail.ModifiedDate = dateTime; objAssessmentQuestionBankDetail.QuestionBankID = item; objAssessmentQuestionBankDetail.QuestionBankName = questionBankInfo.QuestionBankName; objAssessmentQuestionBankDetail.Duration = questionBankInfo.Duration; objAssessmentQuestionBankDetail.AssessmentDetailMaster = assesmentDetailMaster; lstAssessmentQuestionBankDetail.Add(objAssessmentQuestionBankDetail); } } //Candidate form selection List <CandidateAssesmentDetailsForm> lstCandidateAssesmentDetailsForm = new List <CandidateAssesmentDetailsForm>(); foreach (var item in postAssessmentModal.LstCandidateFormSelectedFields) { var assesmentModalInfo = TestEngineDBContext.AssesmentMasterDetailsForms.ToList(); CandidateAssesmentDetailsForm candidateAssesmentDetailsForm = new CandidateAssesmentDetailsForm(); candidateAssesmentDetailsForm.AssessmentId = assesmentDetailMaster.ID; candidateAssesmentDetailsForm.Createddate = dateTime; candidateAssesmentDetailsForm.DisplayFieldName = assesmentModalInfo.FirstOrDefault(x => x.id == item.FormId).DisplayFieldName; candidateAssesmentDetailsForm.FieldName = assesmentModalInfo.FirstOrDefault(x => x.id == item.FormId).FieldName; candidateAssesmentDetailsForm.FieldType = assesmentModalInfo.FirstOrDefault(x => x.id == item.FormId).FieldType; candidateAssesmentDetailsForm.FormId = assesmentModalInfo.FirstOrDefault(x => x.id == item.FormId).FormId; candidateAssesmentDetailsForm.id = Guid.NewGuid(); candidateAssesmentDetailsForm.IsEnabled = true; candidateAssesmentDetailsForm.IsLocked = assesmentModalInfo.FirstOrDefault(x => x.id == item.FormId).IsLocked; candidateAssesmentDetailsForm.IsMandatory = item.IsMandatory; candidateAssesmentDetailsForm.ModificationHistory = string.Empty; candidateAssesmentDetailsForm.ModifiedDate = dateTime; candidateAssesmentDetailsForm.Remarks = string.Empty; candidateAssesmentDetailsForm.Values = assesmentModalInfo.FirstOrDefault(x => x.id == item.FormId).Values; lstCandidateAssesmentDetailsForm.Add(candidateAssesmentDetailsForm); } //Schedule plan updation TestEngineDBContext.AssessmentDetailMasters.Add(assesmentDetailMaster); if (postAssessmentModal.lstBulkScheduleIds != null) { if (postAssessmentModal.lstBulkScheduleIds.Any()) { List <AssessmentUserDetail> lstAssesmentdetailMaster = new List <AssessmentUserDetail>(); foreach (var item in postAssessmentModal.lstBulkScheduleIds) { AssessmentUserDetail assessmentUserDetail = new AssessmentUserDetail(); assessmentUserDetail.AssessmentID = assesmentDetailMaster.ID; assessmentUserDetail.CreatedDate = dateTime; assessmentUserDetail.ID = Guid.NewGuid(); assessmentUserDetail.IsDeleted = false; assessmentUserDetail.ModifiedDate = dateTime; assessmentUserDetail.UserID = item; lstAssesmentdetailMaster.Add(assessmentUserDetail); } TestEngineDBContext.AssessmentUserDetails.AddRange(lstAssesmentdetailMaster); } } if (postAssessmentModal.SingleScheduleModal != null) { UserDetailMaster UserDetailMaster = new UserDetailMaster(); UserDetailMaster.CreatedDate = dateTime; UserDetailMaster.Id = Guid.NewGuid(); UserDetailMaster.IsDeleted = false; UserDetailMaster.ModifiedDate = dateTime; UserDetailMaster.UserTitle = assesmentDetailMaster.AssessmentName + " - Assessment"; TestEngineDBContext.UserDetailMasters.Add(UserDetailMaster); ExaminerMaster examinerMaster = new ExaminerMaster(); examinerMaster.ID = Guid.NewGuid(); examinerMaster.AssessmentId = assesmentDetailMaster.ID; examinerMaster.UserDetailId = UserDetailMaster.Id; examinerMaster.CreatedDate = DateTime.UtcNow.AddHours(5).AddMinutes(30); examinerMaster.ModifiedDate = DateTime.UtcNow.AddHours(5).AddMinutes(30); TestEngineDBContext.ExaminerMasters.Add(examinerMaster); DefaultRegistation defaultRegistation = new DefaultRegistation(); defaultRegistation.UserDetailId = UserDetailMaster.Id; defaultRegistation.ID = Guid.NewGuid(); defaultRegistation.Name = postAssessmentModal.SingleScheduleModal.FirstName + " " + postAssessmentModal.SingleScheduleModal.LastName; defaultRegistation.Email = postAssessmentModal.SingleScheduleModal.Email; defaultRegistation.Password = postAssessmentModal.SingleScheduleModal.Password; defaultRegistation.MobileNumber = postAssessmentModal.SingleScheduleModal.Mobile; defaultRegistation.UserName = postAssessmentModal.SingleScheduleModal.UserName; defaultRegistation.IsDeleted = false; defaultRegistation.IsExamCompleted = false; TestEngineDBContext.DefaultRegistations.Add(defaultRegistation); AssessmentUserDetail assessmentUserDetail = new AssessmentUserDetail(); assessmentUserDetail.AssessmentID = assesmentDetailMaster.ID; assessmentUserDetail.CreatedDate = dateTime; assessmentUserDetail.ID = Guid.NewGuid(); assessmentUserDetail.IsDeleted = false; assessmentUserDetail.ModifiedDate = dateTime; assessmentUserDetail.UserID = UserDetailMaster.Id; TestEngineDBContext.AssessmentUserDetails.Add(assessmentUserDetail); } //Common Login Info if (postAssessmentModal.CommonLoginModal != null) { if (!string.IsNullOrEmpty(postAssessmentModal.CommonLoginModal.CommonLoginUserName) && !string.IsNullOrEmpty(postAssessmentModal.CommonLoginModal.CommonLoginPassword)) { UserDetailMaster UserDetailMaster = new UserDetailMaster(); UserDetailMaster.CreatedDate = dateTime; UserDetailMaster.Id = Guid.NewGuid(); UserDetailMaster.IsDeleted = false; UserDetailMaster.ModifiedDate = dateTime; UserDetailMaster.UserTitle = assesmentDetailMaster.AssessmentName + " - Assessment"; TestEngineDBContext.UserDetailMasters.Add(UserDetailMaster); ExaminerMaster examinerMaster = new ExaminerMaster(); examinerMaster.ID = Guid.NewGuid(); examinerMaster.AssessmentId = assesmentDetailMaster.ID; examinerMaster.UserDetailId = UserDetailMaster.Id; examinerMaster.CreatedDate = DateTime.UtcNow.AddHours(5).AddMinutes(30); examinerMaster.ModifiedDate = DateTime.UtcNow.AddHours(5).AddMinutes(30); TestEngineDBContext.ExaminerMasters.Add(examinerMaster); List <DefaultRegistation> lstDefaultReg = new List <DefaultRegistation>(); if (postAssessmentModal.CommonLoginModal.CLSendLoginDetailsto != null) { foreach (var items in postAssessmentModal.CommonLoginModal.CLSendLoginDetailsto.Split(',')) { DefaultRegistation defaultRegistation = new DefaultRegistation(); defaultRegistation.UserDetailId = UserDetailMaster.Id; defaultRegistation.ID = Guid.NewGuid(); defaultRegistation.Name = postAssessmentModal.SingleScheduleModal.FirstName + " " + postAssessmentModal.SingleScheduleModal.LastName; defaultRegistation.Email = postAssessmentModal.SingleScheduleModal.Email; defaultRegistation.Password = postAssessmentModal.SingleScheduleModal.Password; defaultRegistation.MobileNumber = postAssessmentModal.SingleScheduleModal.Mobile; defaultRegistation.IsDeleted = false; defaultRegistation.IsExamCompleted = false; lstDefaultReg.Add(defaultRegistation); } } AssessmentUserDetail assessmentUserDetail = new AssessmentUserDetail(); assessmentUserDetail.AssessmentID = assesmentDetailMaster.ID; assessmentUserDetail.CreatedDate = dateTime; assessmentUserDetail.ID = Guid.NewGuid(); assessmentUserDetail.IsDeleted = false; assessmentUserDetail.ModifiedDate = dateTime; assessmentUserDetail.UserID = UserDetailMaster.Id; TestEngineDBContext.AssessmentUserDetails.Add(assessmentUserDetail); TestEngineDBContext.DefaultRegistations.AddRange(lstDefaultReg); } } //Alert information to Admin if (!string.IsNullOrEmpty(postAssessmentModal.AssesmentAlertEmail)) { List <AssessmentAdminEmailNotification> lstAssesmentEMailNotification = new List <AssessmentAdminEmailNotification>(); foreach (var items in postAssessmentModal.AssesmentAlertEmail.Split(',')) { AssessmentAdminEmailNotification assessmentAdminEmailNotification = new AssessmentAdminEmailNotification(); assessmentAdminEmailNotification.AssessmentId = assesmentDetailMaster.ID; assessmentAdminEmailNotification.EmailId = items; assessmentAdminEmailNotification.id = Guid.NewGuid(); assessmentAdminEmailNotification.IsAdminEmailCompletionAlertEnabled = postAssessmentModal.IsAssessmentCompletionAlertEnabled; lstAssesmentEMailNotification.Add(assessmentAdminEmailNotification); } if (lstAssesmentEMailNotification.Any()) { TestEngineDBContext.AssessmentAdminEmailNotifications.AddRange(lstAssesmentEMailNotification); } } //Alert Information to Students if (postAssessmentModal.AssessmentStudentAlertModal != null) { AssessmentStudentNotification assessmentStudentNotification = new AssessmentStudentNotification(); assessmentStudentNotification.AssessmentId = assesmentDetailMaster.ID; assessmentStudentNotification.BCC = postAssessmentModal.AssessmentStudentAlertModal.BCC; assessmentStudentNotification.BodyofMessage = postAssessmentModal.AssessmentStudentAlertModal.BodyofMessage; assessmentStudentNotification.CC = postAssessmentModal.AssessmentStudentAlertModal.CC; assessmentStudentNotification.CommunicationType = postAssessmentModal.AssessmentStudentAlertModal.CommunicationType; assessmentStudentNotification.CreatedDate = dateTime; assessmentStudentNotification.id = Guid.NewGuid(); assessmentStudentNotification.IsEnabled = postAssessmentModal.AssessmentStudentAlertModal.IsEnabled; assessmentStudentNotification.ModHistory = string.Empty; assessmentStudentNotification.ModifiedDate = dateTime; assessmentStudentNotification.Remarks = string.Empty; assessmentStudentNotification.Type = postAssessmentModal.AssessmentStudentAlertModal.Type; TestEngineDBContext.AssessmentStudentNotifications.Add(assessmentStudentNotification); } TestEngineDBContext.AssessmentQuestionBankDetails.AddRange(lstAssessmentQuestionBankDetail); TestEngineDBContext.CandidateAssesmentDetailsForms.AddRange(lstCandidateAssesmentDetailsForm); TestEngineDBContext.SaveChanges(); result = "Success"; } } catch (Exception ex) { throw ex; } return(result); }
public APIResponse UploadUserDetail(UsersDetails usersDetails) { UsersDetailsModel details = new UsersDetailsModel(); dateTime = DateTime.UtcNow.AddHours(5).AddMinutes(30); APIResponse response = new APIResponse(); var resultUserDetailMasterGuid = Guid.NewGuid(); var usertype = "upload"; response.ResultUserDetailMasterGuid = resultUserDetailMasterGuid; try { using (DBEntities testEngineEntities = new DBEntities()) { UserDetailMaster users = new UserDetailMaster(); users.Id = resultUserDetailMasterGuid; users.UserTitle = usersDetails.UserTitleName; users.UserType = usertype; users.CreatedDate = dateTime; users.ModifiedDate = dateTime; users.IsDeleted = false; testEngineEntities.UserDetailMasters.Add(users); foreach (var item in usersDetails.UsersDetailsModel) { DefaultRegistation defaultRegistation = new DefaultRegistation(); defaultRegistation.ID = Guid.NewGuid(); defaultRegistation.UserDetailId = users.Id; defaultRegistation.Name = item.Name; defaultRegistation.Email = item.Email; defaultRegistation.Password = item.Password; defaultRegistation.MobileNumber = item.MobileNumber; defaultRegistation.Degree = item.Degree; defaultRegistation.Institution = item.Institution; defaultRegistation.Major = item.Major; defaultRegistation.Percentage = item.Percentage; defaultRegistation.Gender = item.Gender; defaultRegistation.Address = item.Address; defaultRegistation.SSLCPassedOutYear = item.SSLCPassedOutYear; defaultRegistation.SSLCPercentage = item.SSLCPercentage; defaultRegistation.SSLCBoardName = item.SSLCBoardName; defaultRegistation.TechnicalSkills = item.TechnicalSkills; defaultRegistation.HSCPercentage = item.HSCPercentage; defaultRegistation.LastName = item.LastName; defaultRegistation.DOB = item.DOB; defaultRegistation.State = item.State; defaultRegistation.DegreePassedOutYear = item.DegreePassedOutYear; defaultRegistation.HSCBoardName = item.HSCBoardName; defaultRegistation.HSCPassedOutYear = item.HSCPassedOutYear; defaultRegistation.ModifiedDate = dateTime;; defaultRegistation.CreatedDate = dateTime;; defaultRegistation.IsDeleted = false; defaultRegistation.IsExamCompleted = false; defaultRegistation.UserName = item.Email; testEngineEntities.DefaultRegistations.Add(defaultRegistation); } testEngineEntities.SaveChanges(); response.Result = true; } } catch (Exception ex) { throw ex; } return(response); }