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); } }
private Device CreateDevice(int idMarket, MarketDetailConfigDto marketConfig) { return(new Device { idMarket = idMarket, Uid = marketConfig.DeviceSerial, Name = "Device_" + marketConfig.DeviceSerial }); }
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); } }
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(); } }
public void SetMarketDetailConfig(UserPass user, int idMarket, MarketDetailConfigDto marketConfig) { var provider = _factory.GetOrCreateProvider(user); provider.SetMarketDetailConfig(user, idMarket, marketConfig); }
public void AddMarketConfig(UserPass user, MarketDetailConfigDto marketConfig) { var provider = _factory.GetOrCreateProvider(user); provider.AddMarketConfig(user, marketConfig); }