public GroupDetailsResponseViewModel GetListingsByGroupId(PeriodDetailsRequestViewModel periodDetailsRequestViewModel) { var listings = _service.GetListingsByGroupId(periodDetailsRequestViewModel.PeriodId); var response = new GroupDetailsResponseViewModel(); listings.Lists.ToList().ForEach( x => response.Periods.Add(new PeriodViewModel() { PeriodId = x.PeriodId, Element = new ElementViewModel { ElementId=x.Element.ElementId, AtomicWeigh=x.Element.AtomicWeigh, Classification=x.Element.Classification, Color = x.Element.Color, Density = x.Element.Density, ElectronConfiguration = x.Element.ElectronConfiguration, Electrons = x.Element.Electrons, ElectronShells = x.Element.ElectronShells, Name = x.Element.Name, Neutrons = x.Element.Neutrons, Protons = x.Element.Protons, State = x.Element.State } } )); response.GroupId = listings.GroupId; return response; }
public PeriodDetailsResponseViewModel GetPeriodicDetailsByPeriodId(PeriodDetailsRequestViewModel periodDetailsRequestViewModel) { var listings = _service.GetListingsByPeriodId(periodDetailsRequestViewModel.PeriodId); var response = new PeriodDetailsResponseViewModel(); listings.Elements.ForEach(x => response.Groups.Add( new GroupViewModel() { GroupId = x.GroupId, Element = new ElementViewModel() { ElementId = x.ElementId, Name = x.Name, AtomicWeigh = x.AtomicWeigh, Classification = x.Classification, Color = x.Color, Density = x.Density, ElectronConfiguration = x.ElectronConfiguration, Electrons = x.Electrons, ElectronShells = x.ElectronShells, Neutrons = x.Neutrons, Protons = x.Protons, State = x.State, MeltingPoint = x.MeltingPoint } } )); return response; }
public HttpResponseMessage Get(int id) { var periodDetialsRequestViewModel = new PeriodDetailsRequestViewModel() { PeriodId = id }; var serviceResponse = _periodDetailsPresenter.GetPeriodicDetailsByPeriodId(periodDetialsRequestViewModel); HttpResponseMessage httpResponse; switch (serviceResponse.StatusCode) { case PeriodicTableStatusCodes.Success: httpResponse = Request.CreateResponse(HttpStatusCode.OK, serviceResponse); break; case PeriodicTableStatusCodes.Error: var internalServiceError = PeriodicTableServerExceptionResponse.GetInternalServiceError(); httpResponse = Request.CreateResponse(HttpStatusCode.InternalServerError, internalServiceError); break; default: var error = new HttpError(GetCorrectErrorMessage(serviceResponse.StatusCode)) { {"ErrorCode", serviceResponse.StatusCode} }; httpResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, error); break; } return httpResponse; }