Example #1
0
        private List <SellDto> DoGetDrinkSells(BeerControlEntities context, int idMarket, int idDrink, DateTimeOffset startTs, DateTimeOffset endTs)
        {
            var list     = new List <SellDto>();
            var dbSells  = context.Sell.Where(s => s.idMarket == idMarket && s.idDrink == idDrink && s.Ts >= startTs && s.Ts <= endTs).OrderBy(s => s.Ts).ToArray();
            var priceIds = dbSells.Select(s => s.idPrice).Distinct();
            var dbPrices = context.Price.Where(p => priceIds.Contains(p.id)).Select(p => new { p.id, p.Val });
            var priceDic = new Dictionary <int, int>();

            foreach (var dbPrice in dbPrices)
            {
                priceDic.Add(dbPrice.id, dbPrice.Val);
            }

            foreach (var dbSell in dbSells)
            {
                int price;
                if (dbSell.idPrice == 0 || !priceDic.ContainsKey(dbSell.idPrice))
                {
                    price = 0;
                }
                else
                {
                    price = priceDic[dbSell.idPrice];
                }

                list.Add(DtoFactory.Create(dbSell, price));
            }

            return(list);
        }
        [ProducesResponseType(typeof(DtoError), 500)] //Define the extra HttpStatusCode for Swagger
        public IQueryable <DtoCustomer> GetAll()
        {
            var rtn = new List <DtoCustomer>();

            try
            {
                //throw new Exception("Test");
                using (var custService = new CustomerService(DbContextFactory.Create()))
                {
                    var custDaos = custService.GetAll().ToList();
                    foreach (var custDao in custDaos)
                    {
                        rtn.Add(DtoFactory.Create <Angular2.Mvc.DAL.Models.DAO.Customer, Angular2.Mvc.Core.Models.DTO.DtoCustomer>(custDao));
                    }
                }
                return(rtn.AsQueryable());
            }
            catch (Exception ex)
            {
                var err = new DtoError
                {
                    StatusCode  = 500,
                    ServerError = ex.Message,
                    ClientMsg   = "Please try again..."
                };

                var    errJson = JsonConvert.SerializeObject(err);
                byte[] data    = System.Text.Encoding.UTF8.GetBytes(errJson);
                Response.ContentType = "application/json";
                Response.StatusCode  = (int)HttpStatusCode.InternalServerError;
                Response.Body.WriteAsync(data, 0, data.Length);
                throw;
            }
        }
Example #3
0
        private DrinkDto LoadDrink(BeerControlEntities context, int?idDrink)
        {
            if (!idDrink.HasValue)
            {
                return(null);
            }

            var dbDrink = context.Drink.Find(idDrink);

            return(DtoFactory.Create(dbDrink));
        }
 public DtoCustomer Get(int id)
 {
     Angular2.Mvc.Core.Models.DTO.DtoCustomer rtn = null;
     using (var custService = new CustomerService(DbContextFactory.Create()))
     {
         var cust = custService.Get(x => x.Id.Equals(id)).FirstOrDefault();
         if (cust != null)
         {
             return(DtoFactory.Create <Angular2.Mvc.DAL.Models.DAO.Customer, Angular2.Mvc.Core.Models.DTO.DtoCustomer>(cust));
         }
         else
         {
             throw new Exception($"The customers with Id:{id.ToString()} is not exist!");
         }
     }
 }
Example #5
0
        public void TestCustomerMapping()
        {
            var cust = new Angular2.Mvc.DAL.Models.DAO.Customer()
            {
                Id          = 10,
                Age         = 35,
                Description = "Hello!!",
                Name        = "JB",
                Phone       = "0933XXXXXXX"
            };
            var actual = DtoFactory.Create <Angular2.Mvc.DAL.Models.DAO.Customer, Angular2.Mvc.Core.Models.DTO.DtoCustomer>(cust);

            Assert.True(cust.Id.Equals(actual.Id), $"Expected:{cust.Id}, Actual:{actual.Id}");
            Assert.True(cust.Name.Equals(actual.Name), $"Expected:{cust.Name}, Actual:{actual.Name}");
            Assert.True(cust.Phone.Equals(actual.Phone), $"Expected:{cust.Phone}, Actual:{actual.Phone}");
            Assert.True(cust.Age.Equals(actual.Age), $"Expected:{cust.Age}, Actual:{actual.Age}");
            Assert.True(cust.Description.Equals(actual.Description), $"Expected:{cust.Description}, Actual:{actual.Description}");
        }
        public void SampleDtoFromDataRow()
        {
            var gameId = Guid.NewGuid();
            var gameYear = 2010;
            var gameMonth = 7;
            var gameDay = 3;

            var sampleTable = GenerateSampleDataTable();
            sampleTable.Rows.Add(gameId, gameYear, gameMonth, gameDay);

            var sut = new DtoFactory();
            var result = sut.Create<GetGameCountByDateDto>(sampleTable.Rows[0]);

            Assert.IsNotNull(result);
            Assert.AreEqual(gameId, result.GameId);
            Assert.AreEqual(gameYear, result.GameYear);
            Assert.AreEqual(gameMonth, result.GameMonth);
            Assert.AreEqual(gameDay, result.GameDay);
        }
        public void SampleDtoFromDataRow()
        {
            var gameId    = Guid.NewGuid();
            var gameYear  = 2010;
            var gameMonth = 7;
            var gameDay   = 3;

            var sampleTable = GenerateSampleDataTable();

            sampleTable.Rows.Add(gameId, gameYear, gameMonth, gameDay);

            var sut    = new DtoFactory();
            var result = sut.Create <GetGameCountByDateDto>(sampleTable.Rows[0]);

            Assert.IsNotNull(result);
            Assert.AreEqual(gameId, result.GameId);
            Assert.AreEqual(gameYear, result.GameYear);
            Assert.AreEqual(gameMonth, result.GameMonth);
            Assert.AreEqual(gameDay, result.GameDay);
        }
Example #8
0
 public HttpResponseMessage Get()
 {
     try
     {
         var clusters = DataService.Clusters.ToList();
         return(Request.CreateResponse(HttpStatusCode.OK, new
         {
             Result = clusters.Select(c => DtoFactory.Create(c)),
             Succeeded = true
         }));
     }
     catch (Exception)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, new
         {
             Succeeded = true,
             Error = "There was an error when retrieving clusters."
         }));
     }
 }
Example #9
0
        public List <ProducerDto> GetProducers(UserPass user)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);
            var list   = new List <ProducerDto>();

            using (var context = new BeerControlEntities())
            {
                var dbProducers = context.Producer.Where(p => p.idUser == idUser);
                foreach (var pr in dbProducers)
                {
                    list.Add(DtoFactory.Create(pr));
                }
            }

            return(list);
        }
Example #10
0
        public Dictionary <DrinkDto, List <SellDto> > GetMarketSells(UserPass user, int idMarket, DateTimeOffset startTs, DateTimeOffset endTs)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var items = new Dictionary <DrinkDto, List <SellDto> >();

            using (var context = new BeerControlEntities())
            {
                var drinkIds = context.MarketDrink.Where(m => m.idMarket == idMarket).Select(d => d.idDrink).ToArray();
                var dbDrinks = context.Drink.Where(d => drinkIds.Contains(d.id));
                foreach (var dbDrink in dbDrinks)
                {
                    items.Add(DtoFactory.Create(dbDrink), DoGetDrinkSells(context, idMarket, dbDrink.id, startTs, endTs));
                }
            }

            return(items);
        }
Example #11
0
        public Dictionary <MarketDto, SellSummaryDto> GetSellSummary(UserPass user, DateTimeOffset startTs, DateTimeOffset endTs)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);
            var items  = new Dictionary <MarketDto, SellSummaryDto>();

            using (var context = new BeerControlEntities())
            {
                var dbMarkets = context.Market.Where(m => m.idUser == idUser).ToArray();
                foreach (var dbMarket in dbMarkets)
                {
                    items.Add(DtoFactory.Create(dbMarket), DoGetMarketSellSummary(context, dbMarket.id, startTs, endTs));
                }
            }

            return(items);
        }
Example #12
0
        public List <DrinkDto> GetDrinks(UserPass user)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);
            var list   = new List <DrinkDto>();

            using (var context = new BeerControlEntities())
            {
                var dbDrinks = context.Drink.Where(d => d.idUser == idUser);
                foreach (var dbDrink in dbDrinks)
                {
                    list.Add(DtoFactory.Create(dbDrink));
                }
            }

            return(list);
        }
Example #13
0
        public List <MarketDto> GetMarkets(UserPass user)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);
            var list   = new List <MarketDto>();

            using (var context = new BeerControlEntities())
            {
                var dbMarkets = context.Market.Where(m => m.idUser == idUser);
                foreach (var dbMarket in dbMarkets)
                {
                    list.Add(DtoFactory.Create(dbMarket));
                }
            }

            return(list);
        }
Example #14
0
        public List <DrinkConfigDto> GetDrinksConfig(UserPass user)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);
            var drinks = new List <DrinkConfigDto>();

            using (var context = new BeerControlEntities())
            {
                var producerNames = GetProducerNames(idUser, context);
                var dbDrinks      = context.Drink.Where(d => d.idUser == idUser);
                foreach (var drink in dbDrinks)
                {
                    drinks.Add(DtoFactory.Create(drink, producerNames));
                }
            }

            return(drinks);
        }
        public void NullDataRow()
        {
            var sut = new DtoFactory();

            sut.Create <GetGameCountByDateDto>(null);
        }
        public void NullDataRow()
        {
            var sut = new DtoFactory();

            sut.Create<GetGameCountByDateDto>(null);
        }