public string CreateGroupList(string userName, string name, string description) { try { EveShoppingContext contexto = new EveShoppingContext(); UserProfile up = contexto.UserProfiles.Where(u => u.UserName == userName).FirstOrDefault(); if (up == null) { throw new ApplicationException(Messages.err_usuarioNoExiste); } eshGroupShoppingList group = new eshGroupShoppingList(); group.dateCreation = DateTime.Now; group.dateUpdate = DateTime.Now; group.name = name; group.description = description; group.publicID = Guid.NewGuid().ToString(); group.tradeHubID = 30000142; group.userID = up.UserId; contexto.eshGroupShoppingLists.Add(group); contexto.SaveChanges(); return(group.publicID); } catch (Exception ex) { throw; } }
public void RemoveListFromGroup(string groupPublicID, string listPublicID, string userName) { EveShoppingContext contexto = new EveShoppingContext(); eshGroupShoppingList sl; eshSnapshot snap; CommonTestGetForGroupShoppingListUpdate(groupPublicID, listPublicID, userName, contexto, out sl); LogicaSnapshots logicaSnap = new LogicaSnapshots(); snap = logicaSnap.SelectStaticListByPublicID(listPublicID); if (snap == null) { throw new ApplicationException(Messages.err_staticShoppingListNoExiste); } eshGroupShoppingListSnapshot gsls = contexto.eshGroupShoppingListSnapshots.Where(gs => gs.snapshotID == snap.snapshotID && gs.groupShoppingListID == sl.groupShoppingListID).FirstOrDefault(); if (gsls == null) { throw new ApplicationException(); } contexto.eshGroupShoppingListSnapshots.Remove(gsls); contexto.SaveChanges(); }
public IEnumerable <EVFitting> SelectFitsInShoppingList(string publicID, IImageResolver imageResolver) { EveShoppingContext contexto = new EveShoppingContext(); List <EVFitting> fittings = new List <EVFitting>(); IEnumerable <QFitting> qfittings = (from sl in contexto.eshShoppingLists join slf in contexto.eshShoppingListFittings on sl.shoppingListID equals slf.shoppingListID join f in contexto.eshFittings on slf.fittingID equals f.fittingID join it in contexto.invTypes on f.shipTypeID equals it.typeID join p in contexto.eshPrices on new { sl.tradeHubID, it.typeID } equals new { tradeHubID = p.solarSystemID, p.typeID } where sl.publicID == publicID select new QFitting { Description = f.description, PublicID = f.publicID, FittingID = f.fittingID, Name = f.name, ShipID = f.shipTypeID.Value, ShipName = f.invType.typeName, ShipVolume = f.shipVolume, Units = slf.units, ShipPrice = p.avg, Price = p.avg * slf.units, Volume = f.shipVolume * slf.units, InvType = it }); int tradeHubID = contexto.eshShoppingLists.Where(s => s.publicID == publicID).FirstOrDefault().tradeHubID; LogicaFittings logicaFittings = new LogicaFittings(); return(logicaFittings.MountFittingCommon(contexto, qfittings, imageResolver, tradeHubID)); }
public EVFitting SelectFitSummaryByPublicID(string fittingPublicId, IImageResolver imageResolver, int tradeHubID) { EveShoppingContext contexto = new EveShoppingContext(); EVFitting fit = (from f in contexto.eshFittings join it in contexto.invTypes on f.shipTypeID equals it.typeID join p in contexto.eshPrices on new { tradeHubID = tradeHubID, it.typeID } equals new { tradeHubID = tradeHubID, p.typeID } where f.publicID == fittingPublicId select new EVFitting { Description = f.description, ItemID = f.fittingID, Name = f.name, ShipID = f.shipTypeID.Value, ShipName = f.invType.typeName, ShipVolume = f.shipVolume, Units = 1, ShipPrice = p.avg, TotalPrice = p.avg, Volume = f.shipVolume, PublicID = f.publicID }).FirstOrDefault(); fit.ImageUrl32 = imageResolver.GetImageURL(fit.ShipID); LogicaFittings logicaFits = new LogicaFittings(); logicaFits.AddFittingHardwaresToFitting(contexto, imageResolver, tradeHubID, fit); //AddFittingHardwareToFittingSummary(imageResolver, contexto, fit); return(fit); }
public void SaveListInMyLists(string publicID, string userName) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList list = contexto.eshShoppingLists.Where(sl => sl.publicID == publicID).FirstOrDefault(); if (list == null) { throw new ApplicationException(Messages.err_shoppingLisNoExiste); } //si la shopping list ya tiene un propietario no lo cambiamos. if (list.userID.HasValue) { return; } UserProfile user = contexto.UserProfiles.Where(up => up.UserName == userName).FirstOrDefault(); if (user == null) { throw new ApplicationException(Messages.err_usuarioNoExiste); } foreach (var slf in list.eshShoppingListFittings) { if (slf.eshFitting != null && !slf.eshFitting.userID.HasValue) { slf.eshFitting.userID = user.UserId; } } list.userID = user.UserId; contexto.SaveChanges(); }
public IList <EVShoppingListHeader> SelectShoppingListsByUserName(string userName) { EveShoppingContext contexto = new EveShoppingContext(); UserProfile user = contexto.UserProfiles.Where(u => u.UserName.ToLower() == userName.ToLower()).FirstOrDefault(); if (user == null) { throw new ApplicationException(Messages.err_usuarioNoExiste); } var query = from u in contexto.UserProfiles join sl in contexto.eshShoppingLists on u.UserId equals sl.userID.Value where u.UserName == userName select new EVShoppingListHeader { dateCreation = sl.dateCreation, dateUpdate = sl.dateUpdate, name = sl.name, publicID = sl.publicID, staticCount = sl.eshSnapshots.Count }; return(query.ToList()); //return user.eshShoppingLists.OrderByDescending(sl => sl.dateAccess).ToList(); }
public MarketItem SelectMarketItemByID(string publicID, int id, IImageResolver imageResolver) { EveShoppingContext context = new EveShoppingContext(); var query = (from sl in context.eshShoppingLists join slit in context.eshShoppingListInvTypes on sl.shoppingListID equals slit.shoppingListID join it in context.invTypes on slit.typeID equals it.typeID join p in context.eshPrices on new { sl.tradeHubID, slit.typeID } equals new { tradeHubID = p.solarSystemID, p.typeID } where sl.publicID == publicID && slit.typeID == id select new { ItemID = slit.typeID, Name = it.typeName, Units = slit.units, TotalPrice = p.avg * slit.units, Volume = it.volume.Value * slit.units, ItemType = it }); var qmi = query.FirstOrDefault(); MarketItem mi = new MarketItem() { ItemID = qmi.ItemID, Name = qmi.Name, Units = qmi.Units, TotalPrice = qmi.TotalPrice, UnitPrice = qmi.TotalPrice / qmi.Units, Volume = RepositorioItems.GetVolume(qmi.ItemType) * qmi.Units, ImageUrl32 = imageResolver != null?imageResolver.GetImageURL(qmi.ItemID) : string.Empty }; return(mi); }
public void DeleteStaticShoppingList(string staticPublicID, string userName) { EveShoppingContext contexto = new EveShoppingContext(); eshSnapshot snap = contexto.eshSnapshots.Where(s => s.publicID == staticPublicID).FirstOrDefault(); DeleteStaticShoppingList(snap, userName, contexto); }
public void AddFittingHardwaresToFitting(EveShoppingContext contexto, IImageResolver imageResolver, int tradeHubID, EVFitting fit) { var qfittingHardwares = (from f in contexto.eshFittings join fh in contexto.eshFittingHardwares on f.fittingID equals fh.fittingID join it in contexto.invTypes on fh.typeID equals it.typeID join mg in contexto.invMarketGroups on it.marketGroupID equals mg.marketGroupID join p in contexto.eshPrices on new { tradeHubID, it.typeID } equals new { tradeHubID = p.solarSystemID, p.typeID } where f.fittingID == fit.ItemID orderby fh.slotID, fh.positionInSlot, fh.invType.typeName select new EVFittingHardware { ItemID = fh.typeID, GroupName = mg.marketGroupName, Name = it.typeName, TotalPrice = fh.units * p.avg, UnitPrice = p.avg, Slot = fh.slotID, SlotName = fh.eshFittingSlot.name, Units = fh.units, Volume = fh.units * it.volume.Value }); foreach (var item in qfittingHardwares) { item.ImageUrl32 = imageResolver != null?imageResolver.GetImageURL(item.ItemID) : string.Empty; fit.FittingHardwares.Add(item); fit.TotalPrice += item.TotalPrice * fit.Units; fit.Volume += item.Volume * fit.Units; } }
public void ClearAllDeltaFromSummary(string publicID) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList list = contexto.eshShoppingLists.Where(sl => sl.publicID == publicID).FirstOrDefault(); ClearAllDeltaFromSummary(list, contexto); }
public void UpdateDeltaToSummary(string publicID, int itemID, int units, bool isSet = true) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList list = contexto.eshShoppingLists.Where(sl => sl.publicID == publicID).FirstOrDefault(); UpdateDeltaToSummary(publicID, itemID, units, isSet, contexto, list); }
public IEnumerable <EVFitting> SelectFitsByMarketGroup(string userName, int marketGroupID, IImageResolver imageResolver, int tradeHubID) { EveShoppingContext contexto = new EveShoppingContext(); var qfittings = (from f in contexto.eshFittings join it in contexto.invTypes on f.shipTypeID equals it.typeID join mg in contexto.invMarketGroups on it.marketGroupID equals mg.marketGroupID join p in contexto.eshPrices on new { tradeHubID, it.typeID } equals new { tradeHubID = p.solarSystemID, p.typeID } join u in contexto.UserProfiles on f.userID equals u.UserId where u.UserName == userName && it.marketGroupID == marketGroupID select new QFitting { Description = f.description, PublicID = f.publicID, FittingID = f.fittingID, Name = f.name, ShipID = f.shipTypeID.Value, ShipName = f.invType.typeName, ShipVolume = f.shipVolume, Units = 1, ShipPrice = p.avg, Price = p.avg, Volume = f.shipVolume, InvType = it }); return(MountFittingCommon(contexto, qfittings, imageResolver, tradeHubID)); }
private IDictionary <int, IList <int> > CreateShipGroupsDictionary(int initialGroupId = 4) { TreeNode <int> tree = new TreeNode <int>(); tree.Value = initialGroupId; List <TreeNode <int> > finalNodeList = new List <TreeNode <int> >(); FillNextLevel(tree, finalNodeList); List <int> finalNodeIdList = new List <int>(); foreach (var item in finalNodeList) { finalNodeIdList.Add(item.Value); } EveShoppingContext contexto = new EveShoppingContext(); var query = (from it in contexto.invTypes where finalNodeIdList.Contains(it.marketGroupID.Value) select it).ToList(); Dictionary <int, IList <int> > dicc = new Dictionary <int, IList <int> >(); foreach (var item in query) { IList <int> listaGroups = GetListOfGroupsToTop(item, finalNodeList); dicc.Add(item.typeID, listaGroups); } return(dicc); }
public string CrearShoppingList(string name, string description, string userName = null) { string publicID = Guid.NewGuid().ToString(); EveShoppingContext contexto = new EveShoppingContext(); int?userId = null; if (userName != null) { UserProfile up = contexto.UserProfiles.Where(p => p.UserName == userName).FirstOrDefault(); if (up == null) { throw new ApplicationException(Messages.err_usuarioNoExiste); } userId = up.UserId; } eshShoppingList sl = new eshShoppingList(); sl.name = name; sl.description = description; sl.publicID = publicID; sl.readOnlypublicID = Guid.NewGuid().ToString(); sl.dateCreation = System.DateTime.Now; sl.dateUpdate = System.DateTime.Now; sl.dateAccess = System.DateTime.Now; sl.tradeHubID = 30000142; sl.userID = userId; contexto.eshShoppingLists.Add(sl); contexto.SaveChanges(); return(publicID); }
public EVListSummary SelectGroupListSummaryPorPublicID(string publicID, IImageResolver imageResolver) { EveShoppingContext contexto = new EveShoppingContext(); eshGroupShoppingList shoppingList = contexto.eshGroupShoppingLists.Where(sl => sl.publicID == publicID).FirstOrDefault(); if (shoppingList == null) { return(null); } EVListSummary summary = new EVListSummary(); summary.Description = shoppingList.description; summary.Name = shoppingList.name; summary.PublicID = shoppingList.publicID; summary.ReadOnlyPublicID = null; summary.ShoppingListID = shoppingList.groupShoppingListID; Dictionary <int, EVFittingHardware> diccHwd = new Dictionary <int, EVFittingHardware>(); //por cada snapshot que tenemos asociado foreach (var snapshot in shoppingList.eshGroupShoppingListSnapshots) { summary.TotalVolume += snapshot.eshSnapshot.totalVolume; foreach (var item in snapshot.eshSnapshot.eshSnapshotInvTypes) { EVFittingHardware efth = null; if (diccHwd.ContainsKey(item.typeID)) { efth = diccHwd[item.typeID]; efth.Volume += item.volume.Value; efth.TotalPrice += item.unitPrice * item.units; efth.Units += item.units; } else { efth = new EVFittingHardware() { Name = item.invType.typeName, ItemID = item.typeID, Units = item.units, Volume = item.volume.Value, UnitVolume = item.volume.Value / item.units, TotalPrice = item.unitPrice * item.units, UnitPrice = item.unitPrice, ImageUrl32 = imageResolver.GetImageURL(item.typeID) }; diccHwd.Add(efth.ItemID, efth); } } } foreach (var item in diccHwd.Values) { summary.Items.Add(item); } return(summary); }
public eshShoppingList SelectShoppingListByPublicID(string publicID) { EveShoppingContext contexto = new EveShoppingContext(); return(contexto.eshShoppingLists.Include("eshShoppingListFittings.eshFitting.eshFittingHardwares.invType") .Include("eshShoppingListInvTypes.invType").Where(sl => sl.publicID == publicID).FirstOrDefault()); }
public RepositorioBase(EveShoppingContext _contexto) { if (_contexto == null) { _contexto = new EveShoppingContext(); } Contexto = _contexto; }
public void DeleteItemFromShoppingList(string publicID, int itemID) { EveShoppingContext contexto = new EveShoppingContext(); RepositorioShoppingLists repo = new RepositorioShoppingLists(contexto); eshShoppingList list = repo.SelectShopingListPorPublicID(publicID); DeleteItemFromShoppingList(list.shoppingListID, itemID, contexto); }
internal void DeleteItemFromShoppingList(int id, int itemID, EveShoppingContext contexto = null) { RepositorioShoppingLists repo = new RepositorioShoppingLists(contexto); eshShoppingListInvType item = repo.SelectMarketItemEnShoppingListPorID(id, itemID); contexto.eshShoppingListInvTypes.Remove(item); repo.ShoppingListUpdated(id, contexto); contexto.SaveChanges(); }
public int GetFitMarketGroupID(int fitID) { EveShoppingContext contexto = new EveShoppingContext(); var groupID = (from f in contexto.eshFittings where f.fittingID == fitID select f.invType.marketGroupID).FirstOrDefault(); return(groupID.Value); }
public int GetFittingCountByUser(string userName) { EveShoppingContext contexto = new EveShoppingContext(); var count = (from f in contexto.eshFittings join u in contexto.UserProfiles on f.userID equals u.UserId where u.UserName == userName select f.fittingID).Count(); return(count); }
public void GenerateTinyUrlNumbers(int from, int to) { EveShoppingContext contexto = new EveShoppingContext(); NumberGenerator generator = new NumberGenerator(); IEnumerable <int> numbers = generator.Generate(from, to); foreach (var n in numbers) { } }
public string CrearShoppingList(eshShoppingList lista) { string publicID = Guid.NewGuid().ToString(); lista.publicID = publicID; EveShoppingContext contexto = new EveShoppingContext(); contexto.eshShoppingLists.Add(lista); contexto.SaveChanges(); return(publicID); }
public void ShoppingListUpdated(string publicId, EveShoppingContext context = null) { if (context == null) { context = new EveShoppingContext(); } eshShoppingList sl = context.eshShoppingLists.Where(s => s.publicID == publicId).FirstOrDefault(); sl.dateUpdate = System.DateTime.Now; context.SaveChanges(); }
private string GetShipName(int id) { EveShoppingContext contexto = new EveShoppingContext(); invType ship = contexto.invTypes.Where(i => i.typeID == id).FirstOrDefault(); if (ship == null) { throw new FittingFormatNotRecognisedException(Messages.err_notRecognisedItemInFitting); } return(ship.typeName); }
public void DeleteShoppingList(string publicID, string userName) { EveShoppingContext contexto = new EveShoppingContext(); using (TransactionScope scope = new TransactionScope()) { eshShoppingList sl = contexto.eshShoppingLists.Where(s => s.publicID == publicID).FirstOrDefault(); if (sl == null) { throw new ApplicationException(Messages.err_shoppingLisNoExiste); } if (sl.userID.HasValue && userName == null) { throw new ApplicationException(Messages.err_notOwner); } UserProfile user = contexto.UserProfiles.Where(u => u.UserName == userName).FirstOrDefault(); if (sl.userID.HasValue && sl.userID.Value != user.UserId) { throw new ApplicationException(Messages.err_notOwner); } //passed the user right test, the shopping list can be deleted based on the owner. //At this moment we dont make any further test regarding if the list used or not, it is possible to delete only based on the ownership. //Delete the related static lists LogicaSnapshots logicaSnaps = new LogicaSnapshots(); List <eshSnapshot> listSnapshots = sl.eshSnapshots.ToList(); foreach (var snp in listSnapshots) { logicaSnaps.DeleteStaticShoppingList(snp, userName, contexto); } List <eshShoppingListFitting> listFittings = sl.eshShoppingListFittings.ToList(); foreach (var fit in listFittings) { this.DeleteFitFromShoppingLIST(sl.shoppingListID, fit.fittingID, contexto); } List <eshShoppingListInvType> listInvtTypes = sl.eshShoppingListInvTypes.ToList(); foreach (var it in listInvtTypes) { this.DeleteItemFromShoppingList(sl.shoppingListID, it.typeID, contexto); } ClearAllDeltaFromSummary(sl, contexto); contexto.eshShoppingLists.Remove(sl); contexto.SaveChanges(); scope.Complete(); } }
public bool IsShoppingListFree(string publicID) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList list = contexto.eshShoppingLists.Where(sl => sl.publicID == publicID).FirstOrDefault(); if (list == null) { throw new ApplicationException(Messages.err_shoppingLisNoExiste); } return(!list.userID.HasValue); }
public void ActualizarShoppingListHeader(string publicID, string slName, string slDescription) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList sl = null; sl = contexto.eshShoppingLists.Where(s => s.publicID == publicID).FirstOrDefault(); sl.name = slName; sl.description = slDescription; sl.dateUpdate = DateTime.Now; sl.dateAccess = DateTime.Now; contexto.SaveChanges(); }
public void ActualizarGroupListHeader(string publicID, string userName, string name, string description) { EveShoppingContext contexto = new EveShoppingContext(); eshGroupShoppingList gsl; CommonTestGetForGroupShoppingListUpdate(publicID, userName, contexto, out gsl); gsl.name = name; gsl.description = description; gsl.dateUpdate = DateTime.Now; contexto.SaveChanges(); }
public void UpdateAllDeltaToSummary(string publicId, IEnumerable <KeyValuePair <int, int> > deltas, bool isSet = true) { EveShoppingContext contexto = new EveShoppingContext(); using (contexto) { foreach (var item in deltas) { eshShoppingList list = contexto.eshShoppingLists.Where(sl => sl.publicID == publicId).FirstOrDefault(); UpdateDeltaToSummary(publicId, item.Key, item.Value, isSet, contexto, list); } contexto.SaveChanges(); } }