Пример #1
0
        public IHttpActionResult PostInstrumentModify(InstrumentDto instrument)
        {
            string msg = "";

            if (instrument == null)
            {
                msg = "参数错误";
            }
            var instrumentToUpdate = _context.Instruments.Find(instrument.Id);

            instrumentToUpdate.Name        = instrument.Name;
            instrumentToUpdate.Description = instrument.Description;
            instrumentToUpdate.ModelUrl    = instrument.ModelUrl;
            try
            {
                _context.Entry(instrumentToUpdate).State = EntityState.Modified;
                _context.SaveChanges();
                msg = "修改成功";
            }
            catch (RetryLimitExceededException)
            {
                msg = "网络故障";
            }
            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }
        public async Task <bool> UpdateInstrumentAsync(InstrumentDto instrument)
        {
            if (instrument != null)
            {
                return(await instrumentRepository.UpdateInstrumentAsync(DTO.DTO.DtoToInstrument(instrument)));
            }

            return(false);
        }
Пример #3
0
        public IHttpActionResult PostInstrumentDelete(InstrumentDto instrument)
        {
            string msg = "";

            if (instrument == null)
            {
                msg = "参数错误";
            }
            var instrumentToDelete = _context.Instruments.Find(instrument.Id);

            _context.Entry(instrumentToDelete).Collection(u => u.Texts).Load();
            _context.Entry(instrumentToDelete).Collection(u => u.Pictures).Load();
            _context.Entry(instrumentToDelete).Collection(u => u.Videos).Load();

            var instrumentToDeleteDto = Mapper.Map <Instrument, InstrumentDto>(instrumentToDelete);

            if (instrumentToDelete == null)
            {
                msg = "删除失败,该用户不存在";
            }
            else
            {
                try
                {
                    foreach (TextDto t in instrumentToDeleteDto.Texts)
                    {
                        Text text = _context.Texts.Find(t.Id);
                        _context.Texts.Remove(text);
                    }
                    foreach (PictureDto p in instrumentToDeleteDto.Pictures)
                    {
                        Picture picture = _context.Pictures.Find(p.Id);
                        //string strpath
                        _context.Pictures.Remove(picture);
                    }
                    foreach (VideoDto v in instrumentToDeleteDto.Videos)
                    {
                        Video video = _context.Videos.Find(v.Id);
                        _context.Videos.Remove(video);
                    }

                    _context.Instruments.Remove(instrumentToDelete);

                    _context.SaveChanges();
                    msg = "删除成功";
                }
                catch (RetryLimitExceededException)
                {
                    msg = "网络故障";
                }
            }

            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }
Пример #4
0
        public IActionResult OnGet(int instrumentId)
        {
            Instrument = instrumentService.GetInstrumentById(instrumentId);

            if (Instrument == null)
            {
                RedirectToPage("./NotFound");
            }
            return(Page());
        }
Пример #5
0
        // GET api/Artists/5
        public IHttpActionResult Get(int id)

        {
            ArtistDto selectedArtist = new ArtistDto();
            var       artistObject   = db.Artists.SingleOrDefault(a => a.ArtistId == id);

            if (artistObject != null)
            {
                selectedArtist.ArtistFirstName = artistObject.ArtistFirstName;
                selectedArtist.ArtistLastName  = artistObject.ArtistLastName;
                selectedArtist.ArtistNickName  = artistObject.ArtistNickName;
                selectedArtist.EmailAddress    = artistObject.EmailAddress;
                selectedArtist.Bio             = artistObject.Bio;
                selectedArtist.YouTube         = artistObject.YouTube;
                selectedArtist.iTunes          = artistObject.iTunes;
                selectedArtist.LinkedIn        = artistObject.LinkedIn;
                selectedArtist.Spotify         = artistObject.Spotify;
                selectedArtist.WebSite         = artistObject.Website;
                selectedArtist.PhotoLink       = artistObject.PhotoLink;
                selectedArtist.CountryName     = db.Countries.FirstOrDefault(x => x.CountryId == artistObject.CountryId).CountryName;
                var artistInstrumentsStyles = db.Artists.Include(ar => ar.Instruments)
                                              .Include(ar => ar.Styles)
                                              .FirstOrDefault(ar => ar.ArtistId == artistObject.ArtistId);
                // Styles and instruments for that artists
                IList <StyleDto> listStyles = new List <StyleDto>();

                foreach (var existingChild in artistInstrumentsStyles.Styles.ToList())
                {
                    StyleDto styleDtoObj = new StyleDto();
                    styleDtoObj.StyleName = existingChild.StyleName.ToString();
                    styleDtoObj.StyleId   = existingChild.StyleId;
                    listStyles.Add(styleDtoObj);
                }
                selectedArtist.StyleNames = listStyles;

                // instruments
                IList <InstrumentDto> listInstruments = new List <InstrumentDto>();
                foreach (var existingChild in artistInstrumentsStyles.Instruments.ToList())
                {
                    InstrumentDto instDto = new InstrumentDto();
                    instDto.InstrumentName = existingChild.InstrumentName;
                    listInstruments.Add(instDto);
                }
                selectedArtist.InstrumentNames = listInstruments;

                return(Content(HttpStatusCode.OK, selectedArtist));
            }
            else
            {
                return(NotFound());
            }
            ;
        }
        /// <summary>
        /// Post an instrument Throught API
        /// </summary>
        /// <param name="instrument"></param>
        /// <returns></returns>
        public async Task <InstrumentDto> PostInstrumentAsync(InstrumentDto instrument)
        {
            if (instrument != null)
            {
                var aux = await instrumentRepository.PostInstrumentAsync(DTO.DTO.DtoToInstrument(instrument));

                instrumentRepository.Commit();
                return(DTO.DTO.InstrumentToDto(aux));
            }
            logger.WriteLog("Failed to Post Async", LogLevel.Warning);
            return(null);
        }
        public async Task <IActionResult> PutInstrument(int id, InstrumentDto instrument)
        {
            if (id != instrument.Id)
            {
                return(BadRequest());
            }

            if (!await instrumentService.UpdateInstrumentAsync(instrument))
            {
                return(NotFound());
            }

            return(NoContent());
        }
        /// <summary>
        /// Validates if is to update or add a new instrument
        /// </summary>
        /// <param name="instrument"></param>
        /// <returns></returns>
        public InstrumentDto AddOrUpdateInstrument(InstrumentDto instrument)
        {
            if (instrument.Id > 0)
            {
                instrumentRepository.Update(DTO.DTO.DtoToInstrument(instrument));
            }
            else
            {
                instrumentRepository.Add(DTO.DTO.DtoToInstrument(instrument));
            }
            instrumentRepository.Commit();

            return(instrument);
        }
Пример #9
0
        public void Given_A_ServerPark_Has_An_Instrument_When_I_Call_MapToServerParkDto_Then_The_Instrument_Is_Mapped()
        {
            //arrange
            var serverPark = new Mock <IServerPark>();

            serverPark.Setup(s => s.Surveys).Returns(It.IsAny <ISurveyCollection>());

            var serverList       = new List <IServer>();
            var serverCollection = new Mock <IServerCollection>();

            serverCollection.Setup(s => s.GetEnumerator()).Returns(serverList.GetEnumerator());
            serverPark.Setup(s => s.Servers).Returns(serverCollection.Object);

            var instrument1Dto = new InstrumentDto
            {
                Name           = "OPN2010A",
                ServerParkName = "ServerParkA",
                InstallDate    = DateTime.Today.AddDays(-2),
                Status         = SurveyStatusType.Inactive.FullName()
            };

            var instrument2Dto = new InstrumentDto
            {
                Name           = "OPN2010B",
                ServerParkName = "ServerParkB",
                InstallDate    = DateTime.Today,
                Status         = SurveyStatusType.Inactive.FullName()
            };

            _instrumentDtoMapperMock.Setup(m => m.MapToInstrumentDtos(
                                               It.IsAny <ISurveyCollection>()))
            .Returns(new List <InstrumentDto> {
                instrument1Dto, instrument2Dto
            });

            //act
            var result = _sut.MapToServerParkDto(serverPark.Object).Instruments.ToList();

            //assert
            Assert.IsInstanceOf <List <InstrumentDto> >(result);
            Assert.IsNotEmpty(result);
            Assert.AreEqual(2, result.Count);

            Assert.True(result.Any(i => i.Name == instrument1Dto.Name && i.ServerParkName == instrument1Dto.ServerParkName &&
                                   i.InstallDate == instrument1Dto.InstallDate && i.Status == instrument1Dto.Status));

            Assert.True(result.Any(i => i.Name == instrument2Dto.Name && i.ServerParkName == instrument2Dto.ServerParkName &&
                                   i.InstallDate == instrument2Dto.InstallDate && i.Status == instrument2Dto.Status));
        }
Пример #10
0
        public IActionResult OnGet(int?instrumentId)
        {
            LoadEnums();
            if (instrumentId.HasValue)
            {
                Instrument = instrumentService.GetInstrumentById(instrumentId.Value);
            }
            else
            {
                Instrument = new InstrumentDto();
            }
            if (Instrument == null)
            {
                RedirectToPage("./NotFound");
            }

            return(Page());
        }
        public void Given_An_Instrument_Exists_When_I_Call_GetInstrument_Then_I_Get_An_InstrumentDto_Returned()
        {
            //arrange
            var instrumentDto = new InstrumentDto();
            var surveyMock    = new Mock <ISurvey>();

            _blaiseApiMock.Setup(b => b
                                 .GetSurvey(_instrumentName, _serverParkName))
            .Returns(surveyMock.Object);

            _instrumentMapperMock.Setup(m => m.MapToInstrumentDto(surveyMock.Object))
            .Returns(instrumentDto);

            //act
            var result = _sut.GetInstrument(_instrumentName, _serverParkName);

            //assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <InstrumentDto>(result);
        }
Пример #12
0
 public static Instrument FromModel(InstrumentDto model)
 => new Instrument()
 {
     Symbol               = model.Symbol,
     AskPrice             = model.AskPrice,
     BidPrice             = model.BidPrice,
     LastPrice            = model.LastPrice,
     TickSize             = model.TickSize,
     MarkPrice            = model.MarkPrice,
     IndexPrice           = model.IndexPrice,
     OpenValue            = model.OpenValue,
     OpenInterest         = model.OpenInterest,
     TotalVolume          = model.TotalVolume,
     TotalTurnover        = model.TotalTurnover,
     Volume24h            = model.Volume24h,
     Turnover24h          = model.Turnover24h,
     FundingRate          = model.FundingRate,
     PredictedFundingRate = model.PredictedFundingRate,
     NextFundingTime      = model.NextFundingTime,
     UpdatedAt            = model.UpdateAt
 };
        public void Given_An_Instrument_Exists_When_I_Call_GetInstrument_Then_I_Get_A_Correct_InstrumentDto_Returned()
        {
            //arrange
            const string instrumentName = "OPN2101A";
            const string serverParkName = "ServerParkA";
            var          instrumentDto  = new InstrumentDto();
            var          surveyMock     = new Mock <ISurvey>();

            _blaiseApiMock.Setup(b => b
                                 .GetSurvey(instrumentName, serverParkName))
            .Returns(surveyMock.Object);

            _instrumentMapperMock.Setup(m => m.MapToInstrumentDto(surveyMock.Object))
            .Returns(instrumentDto);

            //act
            var result = _sut.GetInstrument(instrumentName, serverParkName);

            //assert
            Assert.IsNotNull(result);
            Assert.AreEqual(instrumentDto, result);
        }
Пример #14
0
        public IHttpActionResult PostInstrumentAdd(InstrumentDto instrument)
        {
            string msg = "";

            if (instrument == null)
            {
                msg = "参数错误";
            }
            var instrumentToAdd = Mapper.Map <InstrumentDto, Instrument>(instrument);

            try
            {
                _context.Instruments.Add(instrumentToAdd);
                _context.SaveChanges();
                msg = "添加成功";
            }
            catch (RetryLimitExceededException)
            {
                msg = "网络故障";
            }
            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }
Пример #15
0
        public IHttpActionResult PostClinicInstrumentModify(InstrumentDto instrument)
        {
            string msg = "";

            if (instrument == null)
            {
                msg = "参数错误";
            }

            try
            {
                var instrumentToModify = _context.Instruments.Find(instrument.Id);
                _context.Entry(instrumentToModify).Collection(u => u.Texts).Load();
                _context.Entry(instrumentToModify).Collection(u => u.Pictures).Load();
                _context.Entry(instrumentToModify).Collection(u => u.Videos).Load();

                var instrumentToModifyDto = Mapper.Map <Instrument, InstrumentDto>(instrumentToModify);
                foreach (TextDto t in instrumentToModifyDto.Texts)
                {
                    var text = _context.Texts.Find(t.Id);
                    _context.Texts.Remove(text);
                }
                foreach (PictureDto p in instrumentToModifyDto.Pictures)
                {
                    var picture = _context.Pictures.Find(p.Id);
                    _context.Pictures.Remove(picture);
                }
                foreach (VideoDto v in instrumentToModifyDto.Videos)
                {
                    var video = _context.Videos.Find(v.Id);
                    _context.Videos.Remove(video);
                }
                instrumentToModify.Texts.Clear();
                foreach (TextDto t in instrument.Texts)
                {
                    var text = Mapper.Map <TextDto, Text>(t);
                    instrumentToModify.Texts.Add(text);
                }
                instrumentToModify.Pictures.Clear();
                foreach (PictureDto p in instrument.Pictures)
                {
                    var picture = Mapper.Map <PictureDto, Picture>(p);
                    instrumentToModify.Pictures.Add(picture);
                }
                instrumentToModify.Videos.Clear();
                foreach (VideoDto v in instrument.Videos)
                {
                    var video = Mapper.Map <VideoDto, Video>(v);
                    instrumentToModify.Videos.Add(video);
                }
                _context.Entry(instrumentToModify).State = EntityState.Modified;
                _context.SaveChanges();
                msg = "修改成功";
            }
            catch (RetryLimitExceededException)
            {
                msg = "网络故障";
            }
            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }
        public async Task <ActionResult <InstrumentDto> > PostInstrument(InstrumentDto instrument)
        {
            var aux = await instrumentService.PostInstrumentAsync(instrument);

            return(CreatedAtAction("GetInstrument", new { id = aux.Id }, aux));
        }