public void Add(UIModel.Oklada oklada) { var okladas = GetOkladas(oklada.ListicId); if (okladas.Length >= Constants.MaxNumOfOkladasPerListic) { throw new Exception($"Maksimalan broj oklada na listiću je {Constants.MaxNumOfOkladasPerListic}!"); } var record = OkladaFactory.CreateRecord(oklada); _dataContext.Okladas.Add(record); }
protected void saveLinkButton_Click(object sender, EventArgs e) { // Add new record var oklada = new Core.UIModel.Oklada { ListicId = ListicId, PonudaId = long.Parse(ponudaDropDownList.SelectedValue) }; var ponuda = _ponudaRepository.GetPonuda(oklada.PonudaId); oklada.Koeficient = ponuda.Koeficient; try { var oklade = _okladaRepository.GetOkladas(ListicId); var okladePlusNova = oklade.Concat(new Core.UIModel.Oklada[] { oklada }).ToArray(); var listic = _listicRepository.GetListic(ListicId); var moguciDobitak = _listicRepository.CalculateMoguciDobitak(ListicId, listic.IznosUplate, okladePlusNova); _listicRepository.ValidateMoguciDobitak(ListicId, moguciDobitak, okladePlusNova); _okladaRepository.Add(oklada); } catch (Exception ex) { _logger.Error($"Failed to add oklada to listić. Error: {ex.Message}"); MessageManager.ShowMessage(this, ex.Message); } try { _okladaRepository.Save(); _listicRepository.UpdateMoguciDobitak(ListicId); editPanel.Visible = false; Search(); } catch { MessageManager.ShowMessage(this, "Ta oklada je već dodana na ovaj listić!"); } }