private void Edit(BetDisplayModel betDisplayModel) { BetInfoViewModel viewModel = new BetInfoViewModel(betDisplayModel); BetInfoControl control = new BetInfoControl(viewModel); Window window = WindowFactory.CreateByContentsSize(control); viewModel.BetEdited += (s, e) => { BetEditModel betEditModel = e.Bet; BetEditDTO betEditDTO = Mapper.Map <BetEditModel, BetEditDTO>(betEditModel); using (IBetService service = factory.CreateBetService()) { ServiceMessage serviceMessage = service.Update(betEditDTO); RaiseReceivedMessageEvent(serviceMessage); if (serviceMessage.IsSuccessful) { window.Close(); Notify(); } } }; window.Show(); }
public ServiceMessage Update(BetEditDTO betEditDTO) { string message = ""; bool success = true; string sportName = betEditDTO.SportName; string tournamentName = betEditDTO.TournamentName; DateTime dateOfEvent = betEditDTO.DateOfEvent; List <ParticipantBaseDTO> participants = betEditDTO.EventParticipants; string coefficientDescription = betEditDTO.CoefficientDescription; decimal sum = betEditDTO.Sum; string clientPhoneNumber = betEditDTO.ClientPhoneNumber; if (success = ValidateBase(betEditDTO, ref message) && Validate(betEditDTO, ref message)) { try { IEnumerable <ParticipantEntity> participantEntities = participants .Select(p => unitOfWork.Participants.Get(p.Name, p.SportName, p.CountryName)); EventEntity eventEntity = unitOfWork .Events .Get(sportName, tournamentName, dateOfEvent, participantEntities); CoefficientEntity coefficientEntity = unitOfWork .Coefficients .Get(eventEntity.Id, coefficientDescription); if (coefficientEntity != null) { BetEntity betEntity = unitOfWork.Bets.Get(coefficientEntity.Id, clientPhoneNumber); if (betEntity != null) { betEntity.Sum = sum; unitOfWork.Commit(); message = "Edited bet"; } else { message = "Such bet not found"; success = true; } } else { message = "Such coefficient was not found"; success = false; } } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }
private bool Validate(BetEditDTO betEditDTO, ref string message) { bool isValid = true; if (betEditDTO.Sum <= 0) { message = "Invalid sum: must be more then 0"; isValid = false; } return(isValid); }
public ServiceMessage Update(BetEditDTO betEditDTO) { return(new ServiceMessage("No permissions", false)); }