예제 #1
0
        public async Task <QuoteDto> GetQuote(QuoteDto quoteDto)
        {
            var erpQuoteDtoReq  = ErpQuoteFactory.BuildFrom(quoteDto);
            var erpQuoteDtoResp = await _erpService.GetQuote(erpQuoteDtoReq);

            return(QuoteFactory.MergeQuoteDto(quoteDto, QuoteFactory.BuildFrom(erpQuoteDtoResp)));
        }
예제 #2
0
        public IActionResult AddQuote(QuoteDto quote)
        {
            if (quote.AuthorId == 0)
            {
                return(BadRequest(new
                {
                    success = false,
                    message = "Author ID is not specified"
                }));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid data."));
            }

            var quoteFromDto = AutoMapperConversion.ToQuote(quote);

            var newQuote = quoteData.Add(quoteFromDto);

            quoteData.Commit();

            return(new OkObjectResult(new
            {
                success = true,
                message = "Quote Added Successfully",
                data = newQuote
            }));
        }
예제 #3
0
        public void CreateNewQuote_WhenCalled_ShouldCreateNewQuote()
        {
            var user = _context.Users.First();

            _controller.MockCurrentUser(user.Id, user.UserName);

            var quoteDto = new QuoteDto
            {
                Id            = 1,
                Content       = "Perfectly valid quote",
                MovieId       = _context.Movies.First().Id,
                PhraseToLearn = "Valid Phrase",
                UserId        = user.Id,
                YoutubeLink   = "https://www.youtube.com/watch?v=3nQNiWdeH2Q"
            };

            _controller.Request = new HttpRequestMessage()
            {
                RequestUri = new Uri("http://http://localhost:55966//api/quotes/" + quoteDto.Id)
            };

            _controller.CreateNewQuote(quoteDto);

            _context.Quotes.Should().Contain(q => q.Content == "Perfectly valid quote");
        }
예제 #4
0
        public async void CreateReadUpdateReadDelete()
        {
            var testQuote = new QuoteDto
            {
                Quote    = DateTime.Now.Ticks.ToString(),
                AuthorId = 1
            };

            var createTest = await Sut.Create(new[] { testQuote });

            Assert.Equal(1, createTest);

            var readTest = await Sut.Read();

            Assert.NotNull(readTest);
            Assert.IsAssignableFrom <IEnumerable <QuoteDto> >(readTest);

            readTest.FirstOrDefault().Quote    += "1";
            readTest.FirstOrDefault().AuthorId += 1;

            var test = await Sut.Update(new[] { readTest.FirstOrDefault() });

            Assert.Equal(1, test);

            var secondReadTest = await Sut.Read();

            var checkValues = secondReadTest.FirstOrDefault().Quote == readTest.FirstOrDefault().Quote&& secondReadTest.FirstOrDefault().AuthorId == readTest.FirstOrDefault().AuthorId;

            Assert.True(checkValues);

            var deleteTest = await Sut.Delete(new[] { readTest.FirstOrDefault().Id ?? 0 });

            Assert.Equal(1, deleteTest);
        }
예제 #5
0
        public async Task <IActionResult> SaveQuote(QuoteDto quoteDto)
        {
            //validate request

            var createdUser = await _quoteRepo.SaveQuote(quoteDto);

            return(StatusCode(201));
        }
예제 #6
0
 public static ErpQuoteDto BuildFrom(QuoteDto quoteDto)
 {
     return(new ErpQuoteDto
     {
         SkuId = quoteDto.SkuId,
         Price = quoteDto.Price
     });
 }
예제 #7
0
 private void TransferQuoteData(QuoteDto dto, Quote instance)
 {
     instance.ReferenceNumber = dto.ReferenceNumber;
     instance.ContactId       = dto.ContactId;
     instance.Amount          = dto.Amount;
     instance.CurrencyId      = dto.CurrencyId;
     instance.Notes           = dto.Notes;
 }
예제 #8
0
 public static QuoteDto MergeQuoteDto(QuoteDto initialQuoteDto, QuoteDto updatedQuoteDto)
 {
     return(new QuoteDto
     {
         Index = initialQuoteDto.Index,
         SkuId = updatedQuoteDto.SkuId,
         Price = updatedQuoteDto.Price
     });
 }
예제 #9
0
        private Price GetPrice(QuoteDto quote)
        {
            if (quote == null)
            {
                return(Price.Null);
            }

            return(Price.CreateUsd(quote.Price));
        }
예제 #10
0
 public static Quote ToQuote(QuoteDto quote)
 {
     return(new Quote()
     {
         Title = quote.Title,
         Content = quote.Content,
         AuthorId = quote.AuthorId
     });
 }
예제 #11
0
 public static Quote ToEntity(this QuoteDto dto)
 {
     return(new Quote
     {
         Id = dto.Id,
         Content = dto.Content,
         CurrentWord = dto.CurrentWord.ToEntity(),
         Author = dto.Author
     });
 }
 public static PriceResponseItem BuildFrom(QuoteDto quoteDto)
 {
     return(new PriceResponseItem
     {
         Index = quoteDto.Index,
         SkuId = quoteDto.SkuId,
         Price = Convert.ToInt64(quoteDto.Price),
         PriceTable = ""
     });
 }
예제 #13
0
 public ActionResult Edit([Bind(Include = "ID,Guid,Broker_ID,Product_ID,PolicyType_ID,PolicyStartDate,PolicyNrOfMonthsValid,PolicyPaymentMethod_ID,VehicleType_ID,VehicleUsage_ID,IsLegalPerson,PostalCode,RequestUrl,Premium,PolicyEndDate,Created")] QuoteDto quoteDto)
 {
     //if (ModelState.IsValid)
     //{
     //    db.Entry(quoteDto).State = EntityState.Modified;
     //    db.SaveChanges();
     //    return RedirectToAction("Index");
     //}
     //return View(quoteDto);
     return(View());
 }
예제 #14
0
        public async Task <ApiResult <Quote> > CreateQuote([FromBody] QuoteDto quote)
        {
            var userGuilds = (await _natsDiscordService.GetMutualGuildsFor(UserDiscordId)).Select(x => x.Id.ToString());

            if (!userGuilds.Contains(quote.GuildId))
            {
                throw new ForbiddenException("You cannot submit a quote for a guild you and the bot are not in.");
            }

            return(Ok(await _natsQuoteService.AddQuote(quote, UserId)));
        }
예제 #15
0
        public Task SaveQuoteAsync(QuoteModel quoteModel)
        {
            var quote = new QuoteDto
            {
                Id             = quoteModel.Id,
                InstrumentId   = quoteModel.Instrument.Id,
                InstrumentName = quoteModel.Instrument.Value,
                Notes          = quoteModel.Notes
            };

            return(_requestTask.Get(new SaveQuoteRequest {
                Quote = quote
            }));
        }
        public void HealthCheck_ReturnSuccess()
        {
            var request = new PriceRequest
            {
                Item = new QuoteDto()
            };

            var quoteDtoResp = new QuoteDto();

            _productServiceMock.Setup(x => x.GetQuote(request.Item)).ReturnsAsync(quoteDtoResp);
            var result = _routesController.HealthCheck().Result as ObjectResult;

            Assert.AreEqual(result?.StatusCode, (int)HttpStatusCode.OK);
        }
예제 #17
0
        public QuoteDto GetRandomUnansweredQuote(FamousQuotesUser user, bool isBinaryMode)
        {
            if (user.Answers is null || user.Answers.Count == 0)
            {
                var quoteIds = DbContext.Quotes.Select(q => q.Id);
                user.AddQuotesToBeAnswered(quoteIds.AsEnumerable());

                DbContext.FamousQuotesUsers.Update(user);
                DbContext.SaveChanges();
            }

            var unansweredQuoteIds      = user.GetUnasweredQuotes();
            var unansweredQuoteIdsCount = unansweredQuoteIds.Count();

            var randomQuote      = new QuoteDto();
            var random           = new Random();
            var randomQuoteIndex = random.Next(unansweredQuoteIdsCount - 1);
            var quoteId          = unansweredQuoteIds.ToArray()[randomQuoteIndex];

            var quote         = DbContext.Quotes.FirstOrDefault(q => q.Id == quoteId);
            var correctAuthor = quote.Author;

            randomQuote.CorrectAuthorName = correctAuthor.Name;

            var authors              = DbContext.Authors;
            var authorsCount         = authors.Count();
            var randomAuthorOneIndex = random.Next(authorsCount - 1);
            var authorOne            = authors.ToArray()[randomAuthorOneIndex];

            randomQuote.QuoteId       = quote.Id;
            randomQuote.QuoteText     = quote.Text;
            randomQuote.AuthorOneName = authorOne.Name;

            if (isBinaryMode)
            {
                return(randomQuote);
            }

            var randomAuthorTwoIndex = random.Next(authorsCount - 1);
            var authorTwo            = authors.ToArray()[randomAuthorTwoIndex];

            randomQuote.AuthorTwoName = authorTwo.Name;

            var randomAuthorThreeIndex = random.Next(authorsCount - 1);
            var authorThree            = authors.ToArray()[randomAuthorThreeIndex];

            randomQuote.AuthorThreeName = authorThree.Name;

            return(randomQuote);
        }
예제 #18
0
        public IFacadeUpdateResult <QuoteData> SaveQuote(QuoteDto dto)
        {
            UnitOfWork.BeginTransaction();
            IFacadeUpdateResult <QuoteData> result = QuoteSystem.SaveQuote(dto);

            if (result.IsSuccessful)
            {
                UnitOfWork.CommitTransaction();
            }
            else
            {
                UnitOfWork.RollbackTransaction();
            }

            return(result);
        }
예제 #19
0
        /// <summary>
        /// Get quote info by client id and quote id
        /// </summary>
        /// <param name="clientID">The client id</param>
        /// <param name="quoteID">The quote id</param>
        /// <returns></returns>
        public Response GetQuoteByClientIdUserIdAndQuoteId(int clientId, int userId, string quoteID)
        {
            var response = new Response();
            var quoteBL  = new QuoteBL();
            var userBL   = new UserBL();

            // Get the opportunity data
            QuoteDto quote = quoteBL.GetQuoteByClientIDAndQuoteID(clientId, quoteID);

            if (quote != null)
            {
                var client = userBL.GetByUserIdAndClientId(clientId, userId);
                if (client != null)
                {
                    if (client.DeleteInd.ToString().ToUpper().Equals("N"))
                    {
                        response.Results.Add("Success");
                        // Serialize the object
                        //string userSerialize = JsonConvert.SerializeObject(quote);
                        string FilePlatformFileIDSerialize = quote.FilePlatformFileID;
                        response.Results.Add(FilePlatformFileIDSerialize);
                        return(response);
                    }
                    else
                    {
                        response.Results.Add("Error");
                        response.Errors.Add("User inactive.");
                    }
                }
                else
                {
                    response.Results.Add("Error");
                    response.Errors.Add("The user does not exist");
                }
            }
            else
            {
                response.Results.Add("Error");
                response.Errors.Add("Invalid opportunity data.");
            }
            return(response);
        }
예제 #20
0
파일: QuoteDL.cs 프로젝트: bjsn/WebApp
        /// <summary>
        /// Gets the quote by client identifier and quote identifier.
        /// </summary>
        /// <param name="clientID">The client identifier.</param>
        /// <param name="quoteID">The quote identifier.</param>
        /// <returns></returns>
        public QuoteDto GetQuoteByClientIDAndQuoteID(int clientID, string quoteID)
        {
            using (var sdaCloudEntities = new SDACloudEntities())
            {
                using (sdaCloudEntities)
                {
                    // Get all the fields
                    Quote existingQuote = sdaCloudEntities.Quotes.FirstOrDefault(q => q.ClientID == clientID && q.QuoteID == quoteID);
                    Mapper.CreateMap <Quote, QuoteDto>()
                    .ForMember(dest => dest.CRMXrefDefinition, opt => opt.Ignore())
                    .ForMember(dest => dest.LoginInfo, opt => opt.Ignore())
                    .ForMember(dest => dest.QuoteTable, opt => opt.Ignore())
                    .ForMember(dest => dest.CloudLastUpdDT, opt => opt.AddFormatter <RegularDateStringFormatter>())
                    .ForMember(dest => dest.CloudLastUpdBy, opt => opt.Ignore())
                    .ForMember(dest => dest.CloudLastUpdById, opt => opt.Ignore())
                    .ForMember(dest => dest.QuoteIDMainSite, opt => opt.Ignore())
                    .ForMember(dest => dest.SDAUpdatedByName, opt => opt.Ignore())
                    .ForMember(dest => dest.SDALastUpdDT, opt => opt.AddFormatter <RegularDateStringFormatter>())
                    .ForMember(dest => dest.CreateDT, opt => opt.AddFormatter <RegularDateStringFormatter>());

                    QuoteDto result = null;

                    if (existingQuote != null)
                    {
                        var peopleVm = Mapper.Map <Quote, QuoteDto>(existingQuote);

                        int  sdaUpdatedBy = peopleVm.SDALastUpdBy;
                        User updatedUser  = sdaCloudEntities.Users.FirstOrDefault(u => u.UserID == sdaUpdatedBy);

                        if (updatedUser != null)
                        {
                            peopleVm.SDAUpdatedByName = updatedUser.FirstName + " " + updatedUser.LastName;
                        }

                        result = peopleVm;

                        //Mapper.AssertConfigurationIsValid();
                    }
                    return(result);
                }
            }
        }
예제 #21
0
        internal IFacadeUpdateResult <QuoteData> SaveQuote(QuoteDto dto)
        {
            ArgumentValidator.IsNotNull("dto", dto);

            FacadeUpdateResult <QuoteData> result = new FacadeUpdateResult <QuoteData>();
            IQuoteService service  = UnitOfWork.GetService <IQuoteService>();
            Quote         instance = RetrieveOrNew <QuoteData, Quote, IQuoteService>(result.ValidationResult, dto.Id);

            if (result.IsSuccessful)
            {
                TransferQuoteData(dto, instance);

                var saveQuery = service.Save(instance);

                result.AttachResult(instance.RetrieveData <QuoteData>());
                result.Merge(saveQuery);
            }

            return(result);
        }
        public async Task <Quote> SaveQuote(QuoteDto quoteDto)
        {
            var quoteToSave = new Quote
            {
                CompanyName     = quoteDto.CompanyName,
                Name            = quoteDto.Name,
                Email           = quoteDto.Email,
                Phone           = quoteDto.Phone,
                OriginCity      = quoteDto.OriginCity,
                DestinationCity = quoteDto.DestinationCity,
                Overview        = quoteDto.Overview,
                QuoteDate       = DateTime.Now
            };

            await _Context.Quotes.AddAsync(quoteToSave);

            await _Context.SaveChangesAsync();

            return(quoteToSave);
        }
예제 #23
0
        public async void CreateReadDelete()
        {
            var testQuote = new QuoteDto
            {
                Quote    = DateTime.Now.Ticks.ToString(),
                AuthorId = 1
            };

            var createTest = await Sut.Create(new[] { testQuote });

            Assert.Equal(1, createTest);

            var test = await Sut.Read();

            Assert.NotNull(test);
            Assert.IsAssignableFrom <IEnumerable <QuoteDto> >(test);

            var deleteTest = await Sut.Delete(new[] { test.FirstOrDefault().Id ?? 0 });

            Assert.Equal(1, deleteTest);
        }
예제 #24
0
        public async Task <Quote> AddQuote(QuoteDto quote, Guid userId)
        {
            var newQuote = new Quote
            {
                Approved = false,
                Title    = quote.Title,
                Text     = quote.Text,
                GuildId  = quote.GuildId,
                UserId   = userId,
            };

            await _db.Quotes.AddAsync(newQuote);

            await _db.SaveChangesAsync();

            var user = await _userService.FindUser(userId);

            newQuote.User = user.Adapt <UserDto>();
            await _natsDiscordService.SendQuoteNotification(ulong.Parse(quote.GuildId), newQuote, ulong.Parse(user.DiscordId), null);

            return(newQuote);
        }
예제 #25
0
파일: QuoteDL.cs 프로젝트: bjsn/WebApp
        public QuoteDto GetQuoteByLastFileSavedLocation(string LastFileSavedLocation)
        {
            using (var sdaCloudEntities = new SDACloudEntities())
            {
                using (sdaCloudEntities)
                {
                    // Get all the fields
                    Quote existingQuote = sdaCloudEntities.Quotes.FirstOrDefault(q => q.LastFileSavedLocation == LastFileSavedLocation);

                    Mapper.CreateMap <Quote, QuoteDto>()
                    .ForMember(dest => dest.CRMXrefDefinition, opt => opt.Ignore())
                    .ForMember(dest => dest.LoginInfo, opt => opt.Ignore())
                    .ForMember(dest => dest.QuoteTable, opt => opt.Ignore())
                    .ForMember(dest => dest.CloudLastUpdDT, opt => opt.AddFormatter <RegularDateStringFormatter>())
                    .ForMember(dest => dest.CloudLastUpdBy, opt => opt.Ignore())
                    .ForMember(dest => dest.CloudLastUpdById, opt => opt.Ignore())
                    .ForMember(dest => dest.QuoteIDMainSite, opt => opt.Ignore())
                    .ForMember(dest => dest.SDAUpdatedByName, opt => opt.Ignore())
                    .ForMember(dest => dest.SDALastUpdDT, opt => opt.AddFormatter <RegularDateStringFormatter>())
                    .ForMember(dest => dest.FilePlatformFileID, opt => opt.AddFormatter <RegularDateStringFormatter>())
                    .ForMember(dest => dest.CreateDT, opt => opt.AddFormatter <RegularDateStringFormatter>());
                    QuoteDto result = null;

                    if (existingQuote != null)
                    {
                        var  peopleVm     = Mapper.Map <Quote, QuoteDto>(existingQuote);
                        int  sdaUpdatedBy = peopleVm.SDALastUpdBy;
                        User updatedUser  = sdaCloudEntities.Users.FirstOrDefault(u => u.UserID == sdaUpdatedBy);
                        if (updatedUser != null)
                        {
                            peopleVm.SDAUpdatedByName = updatedUser.FirstName + " " + updatedUser.LastName;
                        }

                        result = peopleVm;
                    }
                    return(result);
                }
            }
        }
예제 #26
0
        /// <summary>
        /// Get quote info by client id and quote id
        /// </summary>
        /// <param name="clientID">The client id</param>
        /// <param name="quoteID">The quote id</param>
        /// <returns></returns>
        public Response GetQuoteByClientIDAndQuoteID(int clientID, string quoteID)
        {
            var response = new Response();
            var quoteBL  = new QuoteBL();

            // Get the opportunity data
            QuoteDto quote = quoteBL.GetQuoteByClientIDAndQuoteID(clientID, quoteID);

            if (quote != null)
            {
                response.Results.Add("Success");
                // Serialize the object
                //string userSerialize = JsonConvert.SerializeObject(quote);
                string userSerialize = quote.Rollup;
                response.Results.Add(userSerialize);
            }
            else
            {
                response.Results.Add("Error");
                response.Errors.Add("Invalid opportunity data.");
            }
            return(response);
        }
예제 #27
0
파일: UtilityBL.cs 프로젝트: bjsn/WebApp
        /// <summary>
        /// Sets the property.
        /// </summary>
        /// <param name="quote">The quote.</param>
        /// <param name="propertyInfo">The property info.</param>
        /// <param name="value">The value.</param>
        public void SetProperty(QuoteDto quote, PropertyInfo propertyInfo, object value)
        {
            string name;

            if (propertyInfo.PropertyType.IsGenericType)
            {
                var args = propertyInfo.PropertyType.GetGenericArguments();
                name = args[0].Name;
            }
            else
            {
                name = propertyInfo.PropertyType.Name;
            }

            switch (name)
            {
            case "Int32":
                propertyInfo.SetValue(quote, Convert.ToInt32(value), null);
                break;

            case "String":
                propertyInfo.SetValue(quote, value.ToString(), null);
                break;

            case "DateTime":
                propertyInfo.SetValue(quote, Convert.ToDateTime(value), null);
                break;

            case "Double":
                propertyInfo.SetValue(quote, Convert.ToDouble(value), null);
                break;

            case "Decimal":
                propertyInfo.SetValue(quote, Convert.ToDecimal(value), null);
                break;
            }
        }
예제 #28
0
        public IActionResult UpdateQuote(long Id, QuoteDto quote)
        {
            if (quote.AuthorId == 0)
            {
                return(BadRequest(new
                {
                    success = false,
                    message = "Author ID is not specified"
                }));
            }

            var existingQuote = quoteData.GetByIdNoTracking(Id);

            if (existingQuote == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid data. "));
            }

            var quoteFromDto = AutoMapperConversion.ToQuote(quote);

            quoteFromDto.Id = existingQuote.Id;
            var updatedQuote = quoteData.Update(quoteFromDto);

            quoteData.Commit();

            return(new OkObjectResult(new
            {
                success = true,
                message = "Quote Updated Successfully",
                data = updatedQuote
            }));
        }
예제 #29
0
파일: Service.svc.cs 프로젝트: bjsn/WebApp
        /// <summary>
        /// Runs the update CRM quotes.
        /// </summary>
        /// <param name="quotesToUpdate">The quotes to update.</param>
        /// <returns></returns>
        public Response RunUpdateCRMQuotes(QuoteDto quotesToUpdate)
        {
            var dataService = new UpdateCRMDataService();

            return(dataService.RunUpdateCRMQuotes(quotesToUpdate));
        }
 public QuickQuoteCalculated(Guid clientId, QuoteDto quote)
 {
     ClientId = clientId;
     Quote    = quote;
 }