public User Create(User user, string password) { // validation if (string.IsNullOrWhiteSpace(password)) { throw new AppException("Password is required"); } if (_context.Users.Any(x => x.UserName == user.UserName)) { throw new AppException("Username \"" + user.UserName + "\" is already taken"); } byte[] passwordHash, passwordSalt; CreatePasswordHash(password, out passwordHash, out passwordSalt); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; //by default, new user is ReadOnly user. System Admin can change permissions later. user.IsReadOnly = true; user.CanComment = false; user.IsContributer = false; user.IsAdmin = false; _context.Users.Add(user); _context.SaveChanges(); return(user); }
public IActionResult EvaluateHeritage(long id) { //filter contact records by contact id var heritage = _context.Heritages .Where(item => item.Id == id) .Include(item => item.HeritageEvaluations) .Include(item => item.HeritageActivationModes) .FirstOrDefault(); if (heritage == null) { return(NotFound()); } var evaluations = heritage.HeritageEvaluations; double factor1 = _context.EvaluationParameters.FirstOrDefault(param => param.Id == 1).ParameterValue; double factor2 = _context.EvaluationParameters.FirstOrDefault(param => param.Id == 1).ParameterValue; double factor3 = _context.EvaluationParameters.FirstOrDefault(param => param.Id == 1).ParameterValue; double factor4 = _context.EvaluationParameters.FirstOrDefault(param => param.Id == 1).ParameterValue; double factor5 = _context.EvaluationParameters.FirstOrDefault(param => param.Id == 1).ParameterValue; heritage.EvaluationValue = evaluations.Where(evaluation => evaluation.EvaluatorTypeId == 5).Select(evaluation => evaluation.EvaluationValue).DefaultIfEmpty(0).Average() * factor1 + evaluations.Where(evaluation => evaluation.EvaluatorTypeId == 4).Select(evaluation => evaluation.EvaluationValue).DefaultIfEmpty(0).Average() * factor2 + evaluations.Where(evaluation => evaluation.EvaluatorTypeId == 3).Select(evaluation => evaluation.EvaluationValue).DefaultIfEmpty(0).Average() * factor3 + evaluations.Where(evaluation => evaluation.EvaluatorTypeId == 2).Select(evaluation => evaluation.EvaluationValue).DefaultIfEmpty(0).Average() * factor4 + evaluations.Where(evaluation => evaluation.EvaluatorTypeId == 1).Select(evaluation => evaluation.EvaluationValue).DefaultIfEmpty(0).Average() * factor5; var activationModes = _context.ActivationModes .Where(actMode => actMode.UpperBound > heritage.EvaluationValue && actMode.LowerBound < heritage.EvaluationValue) .ToList(); if (heritage.HeritageActivationModes == null) { heritage.HeritageActivationModes = new List <HeritageActivationMode> (); } if (heritage.HeritageActivationModes.Count > 0) { heritage.HeritageActivationModes.Clear(); } foreach (ActivationMode actMode in activationModes) { var heritageActMode = new HeritageActivationMode(); heritageActMode.HeritageId = heritage.Id; heritageActMode.ActivationModeId = actMode.Id; heritage.HeritageActivationModes.Add(heritageActMode); } _context.SaveChanges(); var itemDto = _mapper.Map <HeritageDto> (heritage); return(new ObjectResult(itemDto)); }
public IActionResult Add([FromBody] HeritageCommentDto item) { //set bad reqeust if contact data is not provided in body if (item == null) { return(BadRequest()); } var comment = _mapper.Map <HeritageComment>(item); comment.CommentDate = DateTime.Now; _context.HeritageComments.Add(comment); _context.SaveChanges(); item = _mapper.Map <HeritageCommentDto>(comment); return(Ok(item)); }
public IActionResult UploadFile(ICollection <IFormFile> files, int heritageId, int uploadUserId) { if (!Request.HasFormContentType) { return(BadRequest()); } // Create wwwroot\Files directory if needed if (!Directory.Exists(_hostEnvironment.WebRootPath)) { DirectoryInfo di = Directory.CreateDirectory(_hostEnvironment.WebRootPath); } var form = Request.Form; var fileNameShort = ""; var fileNameLong = ""; // Process all Files foreach (var file in form.Files) { // Process file using (var readStream = file.OpenReadStream()) { var filename = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim(); fileNameShort = filename.ToString(); filename = _hostEnvironment.WebRootPath + $@"\{filename}"; fileNameLong = filename.ToString(); //Save file to harddrive using (FileStream fs = System.IO.File.Create(filename.ToString())) { file.CopyTo(fs); fs.Flush(); _context.FileUploads.Add(new FileUpload { HeritageId = heritageId, FileName = fileNameShort, FilePath = fileNameLong, UploadUserId = uploadUserId }); } _context.SaveChanges(); } } return(Ok()); }
public IActionResult Add([FromBody] ActivationModeDto item) { //set bad reqeust if contact data is not provided in body if (item == null) { return(BadRequest()); } var actMode = _mapper.Map <ActivationMode> (item); actMode.CreatedOn = DateTime.Now; actMode.ModifiedOn = DateTime.Now; _context.ActivationModes.Add(actMode); _context.SaveChanges(); item = _mapper.Map <ActivationModeDto> (actMode); return(Ok(item)); }
public IActionResult Create([FromBody] HeritageDto item) { //set bad reqeust if contact data is not provided in body if (item == null) { return(BadRequest()); } var heritage = _mapper.Map <Heritage> (item); heritage.CreatedOn = DateTime.Now; heritage.ModifiedOn = DateTime.Now; _context.Heritages.Add(heritage); _context.SaveChanges(); item = _mapper.Map <HeritageDto> (heritage); return(Ok(item)); }
public IActionResult Update(long id, [FromBody] EvaluationParameterDto item) { //set bad reqeust if contact data is not provided in body if (item == null || id == 0) { return(BadRequest()); } var evaluationParameter = _mapper.Map <EvaluationParameter> (item); var evalParameter = _context.EvaluationParameters.FirstOrDefault(t => t.Id == id); if (evalParameter == null) { return(NotFound()); } evalParameter.ParameterValue = evaluationParameter.ParameterValue; _context.SaveChanges(); item = _mapper.Map <EvaluationParameterDto> (evalParameter); return(Ok(item)); }