コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }