public IActionResult InsertOrUpdateRecognition(int?id) { RecognitionViewModel recognitionViewModel = new RecognitionViewModel() { Recognition = new Recognition(), EducationLevelList = _unitWork.EducationLevel.GetAll(orderBy: el => el.OrderBy(el => el.Name)).Select(el => new SelectListItem { Text = el.Name, Value = el.Id.ToString() }) }; if (id == null) { recognitionViewModel.Recognition.Active = true; // Crea un nuevo registro return(View(recognitionViewModel)); } // Actualiza el registro recognitionViewModel.Recognition = _unitWork.Recognition.Get(id.GetValueOrDefault()); if (recognitionViewModel == null) { return(NotFound()); } return(View(recognitionViewModel)); }
/// <summary> /// Constructor. /// </summary> /// <param name="viewModel">ViewModel for the page.</param> public RecognitionPage(RecognitionViewModel viewModel) { InitializeComponent(); string resourceID = "FaceRecognition.placeholder_image.png"; Assembly assembly = GetType().GetTypeInfo().Assembly; using (Stream stream = assembly.GetManifestResourceStream(resourceID)) { bitmap = SKBitmap.Decode(stream); } BindingContext = this.viewModel = viewModel; }
public IActionResult InsertOrUpdateRecognition(RecognitionViewModel recognitionViewModel) { Action action = Action.None; if (ModelState.IsValid) { if (recognitionViewModel.Recognition.Id == 0) { action = Action.Create; _unitWork.Recognition.Add(recognitionViewModel.Recognition); } else { action = Action.Update; _unitWork.Recognition.Update(recognitionViewModel.Recognition); } try { _unitWork.Save(); if (action == Action.Create) { _notyfService.Success("Reconocimiento creado correctamente."); } if (action == Action.Update) { _notyfService.Success("Reconocimiento actualizado correctamente."); } return(RedirectToAction(nameof(Index))); } catch (DbUpdateException dbUpdateException) { if (dbUpdateException.InnerException.Message.Contains("IX_Recognitions_Name")) { _notyfService.Error("Ya existe un Reconocimiento con la misma descripción."); recognitionViewModel.EducationLevelList = _unitWork.EducationLevel.GetAll(orderBy: el => el.OrderBy(el => el.Name)).Select(el => new SelectListItem { Text = el.Name, Value = el.Id.ToString() }); return(View(recognitionViewModel)); } else { ModelState.AddModelError(string.Empty, dbUpdateException.InnerException.Message); } } catch (Exception exception) { ModelState.AddModelError(string.Empty, exception.Message); } } else { recognitionViewModel.EducationLevelList = _unitWork.EducationLevel.GetAll(orderBy: el => el.OrderBy(el => el.Name)).Select(el => new SelectListItem { Text = el.Name, Value = el.Id.ToString() }); if (recognitionViewModel.Recognition.Id != 0) { recognitionViewModel.Recognition = _unitWork.Recognition.Get(recognitionViewModel.Recognition.Id); } } return(View(recognitionViewModel)); }
public async Task <IActionResult> Post([FromBody] RecognitionViewModel recognition) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (string.IsNullOrEmpty(recognition.SenderEmail)) { return(BadRequest(new { Message = "Missing Sender Information" })); } if (string.IsNullOrEmpty(recognition.OrganizationName)) { return(BadRequest(new { Message = "Missing Organization Information" })); } if (string.IsNullOrEmpty(recognition.CorporateValueName)) { return(BadRequest(new { Message = "Missing Corporate Value Information" })); } try { var newRecognition = Mapper.Map <Recognition>(recognition); newRecognition.Organization = _repository.GetOrganizationByName(recognition.OrganizationName); if (!String.IsNullOrEmpty(recognition.NewUserEmail)) { // we need to make a new user var newUser = _repository.GetUserByEmail(recognition.NewUserEmail); if (newUser == null) { var theNewUser = new HighFiveUser() { Email = recognition.NewUserEmail, FirstName = HighFiveUser.FirstNameFromName(recognition.NewUserName), LastName = HighFiveUser.LastNameFromName(recognition.NewUserName), Organization = newRecognition.Organization }; _repository.AddUser(theNewUser); await _repository.SaveChangesAsync(); } newRecognition.Receiver = _repository.GetUserByEmail(recognition.NewUserEmail); } else { newRecognition.Receiver = _repository.GetUserByEmail(recognition.ReceiverEmail); } newRecognition.Sender = _repository.GetUserByEmail(recognition.SenderEmail); newRecognition.Value = _repository.GetCorporateValueByName(recognition.CorporateValueName); if (newRecognition.Value == null) { return(BadRequest(new { Message = "Missing Corporate Value Information" })); } newRecognition.DateCreated = DateTime.UtcNow; _repository.AddRecognition(newRecognition); if (await _repository.SaveChangesAsync()) { return(Created($"api/recognitions/{newRecognition.Id}", Mapper.Map <RecognitionViewModel>(newRecognition))); } } catch (HighFiveException ex) { _logger.LogError("Failed to add new recognition: {0}", ex); return(BadRequest(new { ex.Message })); } catch (Exception ex) { _logger.LogError("Failed to add new recognition: {0}", ex); } return(BadRequest(new { Message = $"Failed to add new recognition {recognition.Id}" })); }