public void Update(UIModel.Listic listic) { var record = Find(listic.ListicId); if (listic.UpdateDate.ToString() != record.UpdateDate.ToString()) { throw new Exception("Netko je u međuvremenu već napravio promjene na tom zapisu!"); } if (record != null) { record.VrijemeUplate = listic.VrijemeUplate; record.IznosUplate = listic.IznosUplate; record.MoguciDobitak = listic.MoguciDobitak; record.UpdateDate = DateTime.Now; } }
public void Add(UIModel.Listic listic) { var record = ListicFactory.CreateRecord(listic); _dataContext.Listics.Add(record); }
protected void saveLinkButton_Click(object sender, EventArgs e) { if (!IsValid) { return; } if (IsEditMode) { var listic = new Core.UIModel.Listic { ListicId = long.Parse(vrijemeUplateTextBox.ToolTip), VrijemeUplate = DateTime.Parse(vrijemeUplateTextBox.Text), IznosUplate = double.Parse(iznosUplateTextBox.Text), UpdateDate = DateTime.Parse(iznosUplateTextBox.ToolTip) }; try { var okladaRepository = OkladaRepositoryFactory.Create(); var oklade = okladaRepository.GetOkladas(listic.ListicId); var moguciDobitak = _listicRepository.CalculateMoguciDobitak(listic.ListicId, listic.IznosUplate, oklade); _listicRepository.ValidateMoguciDobitak(listic.ListicId, moguciDobitak, oklade); _listicRepository.Update(listic); _listicRepository.UpdateMoguciDobitak(listic.ListicId); _logger.Info("Succesfully updated listić and mogući dobitak."); } catch (Exception ex) { _logger.Error($"Failed to update listić and/or mogući dobitak. Error: {ex.Message}"); MessageManager.ShowMessage(this, ex.Message); } } else { // Add new record var listic = new Core.UIModel.Listic { VrijemeUplate = DateTime.Parse(vrijemeUplateTextBox.Text), IznosUplate = double.Parse(iznosUplateTextBox.Text) }; try { _listicRepository.Add(listic); _listicRepository.Save(); _logger.Info($"Successfully added new listić to database. Listić: {listic}"); } catch (Exception ex) { _logger.Error($"Failed to add new listic to database: Error: {ex.Message}"); } } ClearTextBoxes(); ClearSearchBoxes(); editPanel.Visible = false; Search(); }