Exemple #1
0
        public MarketDetailConfigDto GetMarketDetailConfig(UserPass user, int idMarket)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);

            using (var context = new BeerControlEntities())
            {
                var dto      = new MarketDetailConfigDto();
                var dbMarket = context.Market.Find(idMarket);
                dto.Id      = idMarket;
                dto.Name    = dbMarket.Name;
                dto.Code    = dbMarket.Code;
                dto.Address = dbMarket.Address;

                var dbDevice = context.Device.FirstOrDefault(d => d.idMarket == idMarket);
                if (dbDevice != null)
                {
                    dto.DeviceSerial = dbDevice.Uid;
                    dto.Drinks       = GetDrinks(context, dbDevice.id);
                }

                return(dto);
            }
        }
Exemple #2
0
 private Device CreateDevice(int idMarket, MarketDetailConfigDto marketConfig)
 {
     return(new Device
     {
         idMarket = idMarket,
         Uid = marketConfig.DeviceSerial,
         Name = "Device_" + marketConfig.DeviceSerial
     });
 }
Exemple #3
0
        public void SetMarketDetailConfig(UserPass user, int idMarket, MarketDetailConfigDto marketConfig)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);

            using (var context = new BeerControlEntities())
            {
                var dbDevice = context.Device.FirstOrDefault(d => d.idMarket == idMarket);
                if (dbDevice == null)
                {
                    dbDevice = CreateDevice(idMarket, marketConfig);
                    context.Device.Add(dbDevice);
                }

                dbDevice.Uid = marketConfig.DeviceSerial;

                var dbMarket = context.Market.Find(idMarket);
                dbMarket.Address = marketConfig.Address;
                if (!string.IsNullOrEmpty(marketConfig.Name))
                {
                    dbMarket.Name = marketConfig.Name;
                }

                context.SaveChanges();

                foreach (var tabDrink in marketConfig.Drinks)
                {
                    var dbTabDrink = context.DeviceTap.FirstOrDefault(d => d.idDevice == dbDevice.id && d.TapCode == tabDrink.TapCode);
                    if (dbTabDrink == null)
                    {
                        dbTabDrink = CreateTabDrink(dbDevice.id, tabDrink);
                        context.DeviceTap.Add(dbTabDrink);
                    }

                    dbTabDrink.idFutureDrink   = tabDrink.NewDrink != null ? tabDrink.NewDrink.Id : (int?)null;
                    dbTabDrink.FutureDrinkDate = tabDrink.FutureDrinkDate;
                }

                context.SaveChanges();

                RefreshMarketDrinks(context, idMarket, marketConfig.Drinks);
            }
        }
Exemple #4
0
        public void AddMarketConfig(UserPass user, MarketDetailConfigDto dto)
        {
            if (!_security.Check(user))
            {
                throw new AuthenticationException();
            }

            var idUser = _security.GetUserId(user);

            using (var context = new BeerControlEntities())
            {
                var dbDevice = context.Device.FirstOrDefault(d => d.Uid == dto.DeviceSerial);
                if (dbDevice != null)
                {
                    throw new Exception("Device allready exists");
                }

                if (string.IsNullOrEmpty(dto.Code))
                {
                    dto.Code = string.Format("M{0:D3}", context.Market.Count(d => d.idUser == idUser));
                }

                var market = new Market
                {
                    Address = dto.Address,
                    Name    = dto.Name,
                    Code    = dto.Code,
                    idUser  = idUser
                };
                context.Market.Add(market);

                context.SaveChanges();

                dbDevice = CreateDevice(market.id, dto);
                context.Device.Add(dbDevice);
                context.SaveChanges();
            }
        }
Exemple #5
0
        public void SetMarketDetailConfig(UserPass user, int idMarket, MarketDetailConfigDto marketConfig)
        {
            var provider = _factory.GetOrCreateProvider(user);

            provider.SetMarketDetailConfig(user, idMarket, marketConfig);
        }
Exemple #6
0
        public void AddMarketConfig(UserPass user, MarketDetailConfigDto marketConfig)
        {
            var provider = _factory.GetOrCreateProvider(user);

            provider.AddMarketConfig(user, marketConfig);
        }