Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        /// <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;
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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}" }));
        }