예제 #1
0
        public async Task <IActionResult> AddEvent(CrudEventViewModel crudEventViewModel)
        {
            // Translate input model into lower layer request (model)
            var serviceModel = FromViewModel(crudEventViewModel);

            // Call service responsible with required use case (creating events)
            var responseModel = await _clientEventsServiceMvc.AddEventAsync(serviceModel);

            // Translate lower layer response (model)
            if (responseModel.IsSuccess)
            {
                return(RedirectToAction("Index", "Home"));
            }
            //return Ok(FromServiceModel(responseModel));
            return(Problem(responseModel.ErrorMessage, title: "An error occurred.", statusCode: 502));

            //var httpClient = new HttpClient();
            //httpClient.BaseAddress = new Uri("https://localhost:44323/");

            ////crudEventViewModel.Id = new EventId(Guid.NewGuid().ToString().Substring(31));
            //crudEventViewModel.ClientId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            //var request = new HttpRequestMessage(HttpMethod.Post, "/events");
            //var content = JsonConvert.SerializeObject(crudEventViewModel);
            //request.Content = new StringContent(content, Encoding.UTF8, "application/json");

            //var response = await httpClient.SendAsync(request);

            //return RedirectToAction("Index", "Home");
        }
예제 #2
0
        public async Task <IActionResult> EditEvent(CrudEventViewModel crudEventViewModel)
        {
            var httpClient = new HttpClient();

            httpClient.BaseAddress = new Uri("https://localhost:44323/");

            var request = new HttpRequestMessage(HttpMethod.Put, $"/events/{crudEventViewModel.Id}");
            var content = JsonConvert.SerializeObject(crudEventViewModel);

            request.Content = new StringContent(content, Encoding.UTF8, "application/json");

            await httpClient.SendAsync(request);

            return(RedirectToAction("Index", "Home"));
        }
예제 #3
0
 private CrudEvent FromViewModel(CrudEventViewModel crudEventViewModel)
 {
     return(new CrudEvent
     {
         ClientId = Guid.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)),
         Address = crudEventViewModel.Address,
         Audience = crudEventViewModel.Audience,
         Description = crudEventViewModel.Description,
         EndsAt = crudEventViewModel.EndsAt,
         IsActive = crudEventViewModel.IsActive,
         LocationType = crudEventViewModel.LocationType,
         PublishDate = crudEventViewModel.PublishDate,
         StartsAt = crudEventViewModel.StartsAt,
         Title = crudEventViewModel.Title,
         Type = crudEventViewModel.Type,
         Pictures = crudEventViewModel.Pictures
     });
 }
예제 #4
0
        public void Update(string id, CrudEventViewModel crudEventViewModel)
        {
            var crudEvent = new CrudEvent()
            {
                Id           = id,
                ClientId     = crudEventViewModel.ClientId,
                Title        = crudEventViewModel.Title,
                Description  = crudEventViewModel.Description,
                Address      = crudEventViewModel.Address,
                LocationType = crudEventViewModel.LocationType,
                Audience     = crudEventViewModel.Audience,
                EndsAt       = crudEventViewModel.EndsAt,
                Type         = crudEventViewModel.Type,
                PublishDate  = crudEventViewModel.PublishDate,
                IsActive     = crudEventViewModel.IsActive,
                StartsAt     = crudEventViewModel.StartsAt,
                Pictures     = crudEventViewModel.Pictures
            };

            _clientEventsService.EditEvent(crudEvent);
        }
예제 #5
0
        public string Create(CrudEventViewModel crudEventViewModel)
        {
            var crudEvent = new CrudEvent()
            {
                //ClientId = User.FindFirstValue(ClaimTypes.NameIdentifier),
                ClientId     = crudEventViewModel.ClientId,
                Title        = crudEventViewModel.Title,
                Description  = crudEventViewModel.Description,
                Address      = crudEventViewModel.Address,
                LocationType = crudEventViewModel.LocationType,
                Audience     = crudEventViewModel.Audience,
                EndsAt       = crudEventViewModel.EndsAt,
                Type         = crudEventViewModel.Type,
                PublishDate  = crudEventViewModel.PublishDate,
                IsActive     = crudEventViewModel.IsActive,
                StartsAt     = crudEventViewModel.StartsAt,
                Pictures     = crudEventViewModel.Pictures
            };

            var result = _clientEventsService.AddEvent(crudEvent);

            return(result.Id);
        }