public static string CheckLogin(DeverateContext context, string username, string password) { username = username.ToUpper(); Account account = context.Account.Where(a => a.Username == username && a.IsActive == true).SingleOrDefault(); if (account == null) { return(null); } bool?result = false; try { result = BCrypt.Net.BCrypt.Verify(password, account.Password); } catch (Exception e) { return(null); } if (result.Value == false) { return(null); } else { return(TokenManager.GenerateToken(account)); } }
/// <summary> /// Đánh giá rank dựa trên bài test /// </summary> /// <param name="db"></param> /// <param name="answers"></param> /// <returns></returns> public static RankPoint EvaluateRank(DeverateContext db, TestAnswerDTO answers) { double?totalPoint = CalculateResultPoint(db, answers); List <ConfigurationRankDTO> configurationRanks = GetRankPoint(db, answers); configurationRanks = configurationRanks.OrderBy(o => o.point).ToList(); ConfigurationRankDTO tmp = new ConfigurationRankDTO(); tmp.rankId = configurationRanks[0].rankId.Value; tmp.point = configurationRanks[0].point; foreach (ConfigurationRankDTO cr in configurationRanks) { if (tmp.point > cr.point) { tmp = cr; } } string rank = db.Rank.SingleOrDefault(r => r.RankId == tmp.rankId).Name; if (rank == null) { return(null); } return(new RankPoint(rank, tmp.point)); }
/// <summary> /// Lấy danh sách các bài test của user trong ngày /// </summary> /// <param name="db"></param> /// <param name="acccountId"></param> /// <returns></returns> public static List <ConfigurationDTO> GetAllConfigTestTodayByUsername(DeverateContext db, int?acccountId) { var result = from cf in db.Configuration join t in db.Test on cf.ConfigId equals t.ConfigId where t.AccountId == acccountId && t.IsActive == true && cf.StartDate <= DateTime.Now && DateTime.Now <= cf.EndDate select new ConfigurationDTO(cf); return(result.ToList()); }
/// <summary> /// Lấy câu trả lời của từng đâu hỏi /// </summary> /// <param name="db"></param> /// <param name="questionId"></param> /// <returns></returns> public static List <AnswerDTO> GetAnswerOfQuestion(DeverateContext db, int?questionId) { var answers = from q in db.Question join a in db.Answer on q.QuestionId equals a.QuestionId where q.QuestionId == questionId select new AnswerDTO(a); return(answers.ToList()); }
public static CompanyDTO GetCompanyById(int?id) { using (DeverateContext db = new DeverateContext()) { var company = from com in db.Company where com.CompanyId == id select new CompanyDTO(com); return(company.FirstOrDefault()); } }
public static List <CompanyDTO> GetCompanyByName(string name) { using (DeverateContext db = new DeverateContext()) { var company = from com in db.Company where com.Name.Contains(name) select new CompanyDTO(com); return(company.ToList()); } }
public static List <ConfigurationDTO> GetAllConfiguration(bool isActive) { using (DeverateContext db = new DeverateContext()) { var configuration = from con in db.Configuration where con.IsActive == isActive select new ConfigurationDTO(con, con.CatalogueInConfiguration.ToList(), con.ConfigurationRank.ToList()); return(configuration.ToList()); } }
public static List <QuestionDTO> GetAllQuestion() { using (DeverateContext context = new DeverateContext()) { var question = from ques in context.Question where ques.IsActive == true select new QuestionDTO(ques, ques.Answer.ToList()); return(question.ToList()); } }
public static List <RankDTO> GetAllRank(bool isActive) { using (DeverateContext db = new DeverateContext()) { var ranks = from rank in db.Rank where rank.IsActive == isActive select new RankDTO(rank); return(ranks.ToList().OrderByDescending(x => x.RankId).ToList()); } }
public static ConfigurationDTO GetConfigurationById(int id) { using (DeverateContext db = new DeverateContext()) { var configuration = from con in db.Configuration where con.ConfigId == id select new ConfigurationDTO(con, con.CatalogueInConfiguration.ToList(), con.ConfigurationRank.ToList()); return(configuration.FirstOrDefault()); } }
public static List <CatalogueDTO> GetAllCatalogue() { using (DeverateContext context = new DeverateContext()) { var catelogue = from cate in context.Catalogue where cate.IsActive == true select new CatalogueDTO(cate); return(catelogue.ToList()); } }
public static List <CompanyDTO> GetAllCompany(bool isActive) { using (DeverateContext db = new DeverateContext()) { var company = from com in db.Company join acc in db.Account on com.CompanyId equals acc.CompanyId where com.IsActive == isActive select new CompanyDTO(acc.Company, acc.Fullname); return(company.ToList()); } }
public static List <ConfigurationRankDTO> GetAllRank(bool isActive) { using (DeverateContext db = new DeverateContext()) { var con = from configRank in db.ConfigurationRank join config in db.Configuration on configRank.ConfigId equals config.ConfigId join rank in db.Rank on configRank.RankId equals rank.RankId where configRank.IsActive == isActive select new ConfigurationRankDTO(configRank, config, rank); return(con.ToList()); } }
public static List <ConfigurationCatalogueDTO> GetConfigurationCatalogueByConfigId(int id) { using (DeverateContext db = new DeverateContext()) { var con = from configCata in db.CatalogueInConfiguration join config in db.Configuration on configCata.ConfigId equals config.ConfigId join cata in db.Catalogue on configCata.CatalogueId equals cata.CatalogueId where configCata.ConfigId == id select new ConfigurationCatalogueDTO(configCata, config, cata); return(con.ToList()); } }
public static List <ConfigurationCatalogueDTO> GetAllConfigurationCatalogue(bool isActive) { using (DeverateContext db = new DeverateContext()) { var con = from configCata in db.CatalogueInConfiguration join config in db.Configuration on configCata.ConfigId equals config.ConfigId join cata in db.Catalogue on configCata.CatalogueId equals cata.CatalogueId where configCata.IsActive == isActive select new ConfigurationCatalogueDTO(configCata, config, cata); return(con.ToList()); } }
public static string UpdateCatalogue(CatalogueDTO catalogue) { using (DeverateContext context = new DeverateContext()) { Catalogue cata = context.Catalogue.SingleOrDefault(c => c.CatalogueId == catalogue.CatalogueId); cata.Description = catalogue.Description; cata.Name = catalogue.Name; cata.IsActive = catalogue.IsActive; context.SaveChanges(); return("UPdating catalogue success"); } }
public static string UpdateConfiguration(ConfigurationDTO configurationDTO) { using (DeverateContext db = new DeverateContext()) { var result = from a in db.Account where a.AccountId == configurationDTO.TestOwnerId select a.CompanyId; int?companyId = result.First(); var emps = from a in db.Account where a.CompanyId == companyId && a.IsActive == true && a.RoleId == 3 select new AccountDTO(a); if (emps.ToList().Count == 0) { return("No available employee"); } Configuration configuration = db.Configuration.SingleOrDefault(con => con.ConfigId == configurationDTO.ConfigId); configuration.ConfigId = configurationDTO.ConfigId; configuration.TestOwnerId = configurationDTO.TestOwnerId; configuration.TotalQuestion = configurationDTO.TotalQuestion; configuration.CreateDate = DateTime.Now; configuration.StartDate = configurationDTO.StartDate; configuration.EndDate = configurationDTO.EndDate; configuration.Duration = configurationDTO.Duration; configuration.IsActive = true; db.Configuration.Update(configuration); db.SaveChanges(); foreach (var item in configurationDTO.catalogueInConfigurations) { CatalogueInConfiguration catalogueInConfiguration = db.CatalogueInConfiguration.SingleOrDefault(con => con.ConfigId == item.ConfigId); catalogueInConfiguration.ConfigId = configuration.ConfigId; catalogueInConfiguration.CatalogueId = item.CatalogueId; catalogueInConfiguration.WeightPoint = item.WeightPoint; catalogueInConfiguration.IsActive = item.IsActive; db.CatalogueInConfiguration.Add(catalogueInConfiguration); db.SaveChanges(); } foreach (var item in configurationDTO.ConfigurationRank) { ConfigurationRank configurationRank = new ConfigurationRank(); configurationRank.ConfigId = configuration.ConfigId; configurationRank.RankId = item.RankId; configurationRank.WeightPoint = item.WeightPoint; configurationRank.IsActive = item.IsActive; db.ConfigurationRank.Add(configurationRank); db.SaveChanges(); } return(null); } }
public static string removeCatalogue(List <CatalogueDTO> catalogue) { using (DeverateContext context = new DeverateContext()) { foreach (var cata in catalogue) { Catalogue cataDb = context.Catalogue.SingleOrDefault(c => c.CatalogueId == cata.CatalogueId); cataDb.IsActive = false; context.SaveChanges(); } return("Removing catalog success"); } }
/// <summary> /// Lấy list trọng số ứng với các catalogue có trong config /// </summary> /// <param name="db"></param> /// <param name="configId"></param> /// <returns></returns> public static List <CatalogueDTO> GetCatalogueWeights(DeverateContext db, int?configId) { var result = from cf in db.Configuration join cif in db.CatalogueInConfiguration on cf.ConfigId equals cif.ConfigId where cf.ConfigId == configId select new CatalogueDTO(cif.CatalogueId, cif.Catalogue.Name, 0, cif.WeightPoint, null, cif.Catalogue.IsActive); if (result == null) { return(null); } return(result.ToList()); }
public static string removeQuestion(List <QuestionDTO> Question) { using (DeverateContext context = new DeverateContext()) { foreach (var ques in Question) { Question questionDb = context.Question.SingleOrDefault(c => c.QuestionId == ques.QuestionId); questionDb.IsActive = false; context.SaveChanges(); } return("Removing Question success"); } }
public static string CreateCatalogue(CatalogueDTO catalogue) { using (DeverateContext context = new DeverateContext()) { Catalogue cata = new Catalogue(); cata.Description = catalogue.Description; cata.Name = catalogue.Name; cata.IsActive = catalogue.IsActive; context.Catalogue.Add(cata); context.SaveChanges(); return("Creating catalogue success"); } }
public static string UpdateCompany(CompanyDTO company) { using (DeverateContext db = new DeverateContext()) { Company com = db.Company.SingleOrDefault(co => co.CompanyId == company.CompanyId); com.Name = company.Name; com.Address = company.Address; com.Fax = company.Fax; com.Phone = company.Phone; com.IsActive = company.IsActive; db.SaveChanges(); return(null); } }
/// <summary> /// Lấy câu hỏi của từng catalogue /// </summary> /// <param name="db"></param> /// <param name="catalogueId"></param> /// <returns></returns> public static List <QuestionDTO> GetQuestionOfCatalogue(DeverateContext db, int?catalogueId) { var ques = from ca in db.Catalogue join q in db.Question on ca.CatalogueId equals q.CatalogueId where ca.CatalogueId == catalogueId select new QuestionDTO(q.QuestionId, q.Question1, null); List <QuestionDTO> questions = ques.ToList(); for (int i = 0; i < questions.Count; i++) { questions[i].answers = GetAnswerOfQuestion(db, questions[i].questionId); } return(questions); }
/// <summary> /// Lấy danh sách trọng số của từng catalogue đã cấu hình /// </summary> /// <param name="db"></param> /// <param name="testId"></param> /// <returns></returns> public static List <CatalogueWeightPointDTO> GetWeightPoints(DeverateContext db, int?testId) { var result = from t in db.Test join cf in db.Configuration on t.ConfigId equals cf.ConfigId join cif in db.CatalogueInConfiguration on cf.ConfigId equals cif.ConfigId where t.TestId == testId select new CatalogueWeightPointDTO(cif.CatalogueId, cif.WeightPoint); if (result == null) { return(null); } return(result.ToList()); }
/// <summary> /// Lấy danh sách điểm của từng rank được cấu hình /// </summary> /// <param name="db"></param> /// <param name="answer"></param> /// <returns></returns> public static List <ConfigurationRankDTO> GetRankPoint(DeverateContext db, TestAnswerDTO answer) { if (answer.testId == null) { return(null); } var result = from con in db.Configuration join te in db.Test on con.ConfigId equals te.ConfigId join cr in db.ConfigurationRank on con.ConfigId equals cr.ConfigId where te.TestId == answer.testId select new ConfigurationRankDTO(cr); return(result.ToList()); }
public static string UpdateQuestion(QuestionDTO ques) { using (DeverateContext context = new DeverateContext()) { Question question = context.Question.SingleOrDefault(c => c.QuestionId == ques.QuestionId); question.CatalogueId = ques.CatalogueId; question.Question1 = ques.Question1; question.IsActive = ques.IsActive; question.MaxPoint = ques.MaxPoint; //question.CreateBy = ques.CreateBy; //question.Answer = ques.Answer; //context.SaveChanges(); return("UPdating Question success"); } }
public static List <CatalogueDTO> GetNumberOfQuestionEachCatalogue(DeverateContext db, int?totalQuestion, List <CatalogueDTO> catalogues) { int currentQuestion = 0; for (int i = 0; i < catalogues.Count; i++) { double numberOfQuestion = catalogues[i].weightPoint.Value * totalQuestion.Value; catalogues[i].numberOfQuestion = Convert.ToInt32(numberOfQuestion); currentQuestion += catalogues[i].numberOfQuestion.Value; } int dif = currentQuestion - totalQuestion.Value; catalogues[catalogues.Count - 1].numberOfQuestion = catalogues[catalogues.Count - 1].numberOfQuestion.Value - dif; return(catalogues); }
public static string CreateQuestion(QuestionDTO ques) { using (DeverateContext context = new DeverateContext()) { Question question = new Question(); question.CatalogueId = ques.CatalogueId; question.Question1 = ques.Question1; question.IsActive = ques.IsActive; question.MaxPoint = ques.MaxPoint; question.CreateBy = ques.CreateBy; question.Answer = ques.Answer; context.Question.Add(question); context.SaveChanges(); return("Creating Question success"); } }
public static string DisableCompany(List <CompanyDTO> company) { using (DeverateContext db = new DeverateContext()) { Company com; foreach (var item in company) { com = db.Company.SingleOrDefault(co => co.CompanyId == item.CompanyId); com.Name = item.Name; com.Address = item.Address; com.IsActive = item.IsActive; } db.SaveChanges(); return(null); } }
public static Company CreateCompany(CompanyDataDTO companyData) { using (DeverateContext db = new DeverateContext()) { Company com = new Company(); com.Address = companyData.CompanyDTO.Address; com.Name = companyData.CompanyDTO.Name; com.CreateAt = DateTime.Now; com.Fax = companyData.CompanyDTO.Fax; com.Phone = companyData.CompanyDTO.Phone; com.IsActive = companyData.CompanyDTO.IsActive; var result = db.Company.Add(com); db.SaveChanges(); return(result.Entity); } }