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);
        }
示例#2
0
        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ć!");
            }
        }