Exemplo n.º 1
0
        public async Task <EventScheduleViewModel> SaveEventDetail([FromBody] EventScheduleViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var session = await _sessionProvider.Get();

                    model.EventScheduleModel.StartDateTime = new DateTime(model.EventScheduleModel.StartDateTime.Year, model.EventScheduleModel.StartDateTime.Month, model.EventScheduleModel.StartDateTime.Day, Convert.ToInt32(model.EventScheduleModel.LocalStartTime.Split(":")[0]), Convert.ToInt32(model.EventScheduleModel.LocalStartTime.Split(":")[1]), 0);
                    model.EventScheduleModel.EndDateTime   = new DateTime(model.EventScheduleModel.EndDateTime.Year, model.EventScheduleModel.EndDateTime.Month, model.EventScheduleModel.EndDateTime.Day, Convert.ToInt32(model.EventScheduleModel.LocalEndTime.Split(":")[0]), Convert.ToInt32(model.EventScheduleModel.LocalEndTime.Split(":")[1]), 0);
                    if (!model.EventScheduleModel.TimeZoneOffset.Contains("-") && !model.EventScheduleModel.TimeZoneOffset.Contains("+"))
                    {
                        model.EventScheduleModel.TimeZoneOffset = "+" + model.EventScheduleModel.TimeZoneOffset;
                    }
                    model.EventScheduleModel.StartDateTime = _utcTimeProvider.GetUtcTime(model.EventScheduleModel.StartDateTime, model.EventScheduleModel.TimeZoneOffset);
                    model.EventScheduleModel.EndDateTime   = _utcTimeProvider.GetUtcTime(model.EventScheduleModel.EndDateTime, model.EventScheduleModel.TimeZoneOffset);
                    model.EventScheduleModel.VenueId       = 10694;
                    EventScheduleCommandResult eventDetailsCommandResult = await _commandSender.Send <EventScheduleCommand, EventScheduleCommandResult>(new EventScheduleCommand
                    {
                        CurrentStep        = model.CurrentStep,
                        EventScheduleModel = model.EventScheduleModel,
                        ModifiedBy         = session.User != null ? session.User.AltId : Guid.Parse("7390283B-4A32-4860-BA3D-B57F1E5F2DAC"),
                    });

                    if (eventDetailsCommandResult.Success)
                    {
                        eventDetailsCommandResult.EventScheduleModel.LocalStartDateTime = _localTimeProvider.GetLocalTime(eventDetailsCommandResult.EventScheduleModel.StartDateTime, eventDetailsCommandResult.EventScheduleModel.TimeZoneOffset);
                        eventDetailsCommandResult.EventScheduleModel.LocalEndDateTime   = _localTimeProvider.GetLocalTime(eventDetailsCommandResult.EventScheduleModel.EndDateTime, eventDetailsCommandResult.EventScheduleModel.TimeZoneOffset);
                        return(new EventScheduleViewModel
                        {
                            Success = true,
                            CurrentStep = eventDetailsCommandResult.CurrentStep,
                            CompletedStep = eventDetailsCommandResult.CompletedStep,
                            EventScheduleModel = eventDetailsCommandResult.EventScheduleModel
                        });
                    }
                    else
                    {
                        return(new EventScheduleViewModel {
                        });
                    }
                }
                catch (Exception e)
                {
                    return(new EventScheduleViewModel {
                    });
                }
            }
            else
            {
                return(new EventScheduleViewModel {
                });
            }
        }