private static EVFitting MontarEVFiting(eshFitting item, short units) { EVFitting fit = new EVFitting(); fit.Description = item.description; fit.PublicID = item.publicID; fit.Name = item.name; fit.ShipName = item.invType.typeName; fit.ShipVolume = item.shipVolume; fit.Volume = item.volume; fit.ItemID = item.fittingID; fit.ImageUrl32 = GetImageUrl32(item.invType.typeID); fit.Units = units; foreach (var itemHwd in item.eshFittingHardwares) { EVFittingHardware hwd = new EVFittingHardware(); hwd.Name = itemHwd.invType.typeName; hwd.Units = itemHwd.units; hwd.Volume = itemHwd.volume; hwd.ItemID = itemHwd.fittingHardwareID; hwd.ImageUrl32 = string.Format("http://image.eveonline.com/Type/{0}_32.png", itemHwd.invType.typeID); hwd.Slot = itemHwd.slotID; fit.FittingHardwares.Add(hwd); } return(fit); }
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 PartialViewResult SetUnitsToFitInShoppingList(int id, int units) { AgenteShoppingList agente = new AgenteShoppingList(); string publicID = EstadoUsuario.CurrentListPublicId; EVFitting evfit = agente.SetUnitsToFitInShoppingList(publicID, id, units); return(PartialView("PVFitInShoppingList", evfit)); }
public EVFitting SetUnitsToFitInShoppingList(string publicID, int id, int units) { LogicaShoppingLists logica = new LogicaShoppingLists(); EVFitting slf = logica.SetUnitsToFitInShoppingList(publicID, id, units, new Imagex32UrlResolver()); return(slf); //return MontarEVFiting(slf.eshFitting, slf.units); }
public ActionResult UseFitInMyList(int id) { try { AgenteShoppingList agente = new AgenteShoppingList(); agente.UseFitInList(EstadoUsuario.CurrentListPublicId, id); EVFitting evfit = agente.SelectFitPorID(EstadoUsuario.CurrentListPublicId, id); return(PartialView("PVFitInShoppingList", evfit)); } catch (Exception ex) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest, ex.Message)); } }
public ActionResult UseAnalysedFit(string fitName) { try { //Obtenemos la fit del diccionario guardado en sesión, si no está, lanzamos un error IDictionary <string, FittingAnalyzed> diccFits = (IDictionary <string, FittingAnalyzed>)Session["lastAnalysedFits"]; FittingAnalyzed fit = null; if ((diccFits != null) && diccFits.ContainsKey(fitName)) { fit = diccFits[fitName]; } if (fit == null) { throw new ApplicationException("The fit is not recorded in our archives, try to analyse it again."); } //Guardamos la fit en base de datos AgenteShoppingList agente = new AgenteShoppingList(); string userName = null; if (Request.IsAuthenticated) { userName = User.Identity.Name; } int fitID; EVFitting evfit = null; try { fitID = agente.SaveAnalysedFit(EstadoUsuario.CurrentListPublicId, userName, fit); evfit = agente.SelectFitPorID(EstadoUsuario.CurrentListPublicId, fitID); } catch (Exception ex) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest, ex.Message)); } return(PartialView("PVFitInShoppingList", evfit)); } catch (Exception ex) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest, ex.Message)); } }
public EVFitting SelectFitSummary(string publicID, int fittingID, IImageResolver imageResolver) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList shlist = contexto.eshShoppingLists.Where(s => s.publicID == publicID).FirstOrDefault(); EVFitting fit = (from slf in contexto.eshShoppingListFittings 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 { tradeHubID = slf.eshShoppingList.tradeHubID, it.typeID } equals new { tradeHubID = p.solarSystemID, p.typeID } where slf.eshShoppingList.publicID == publicID && slf.fittingID == fittingID select new EVFitting { Description = f.description, ItemID = f.fittingID, Name = f.name, ShipID = f.shipTypeID.Value, ShipName = f.invType.typeName, ShipVolume = f.shipVolume, Units = slf.units, ShipPrice = p.avg, TotalPrice = p.avg * slf.units, Volume = f.shipVolume * slf.units, PublicID = f.publicID }).FirstOrDefault(); fit.ImageUrl32 = imageResolver.GetImageURL(fit.ShipID); //AddFittingHardwareToFittingSummary(imageResolver, contexto, fit); LogicaFittings logicafit = new LogicaFittings(); logicafit.AddFittingHardwaresToFitting(contexto, imageResolver, shlist.tradeHubID, fit); return(fit); }
internal IEnumerable <EVFitting> MountFittingCommon(EveShoppingContext contexto, IEnumerable <QFitting> qfittings, IImageResolver imageResolver, int tradeHubID) { List <EVFitting> fittings = new List <EVFitting>(); foreach (var qfit in qfittings) { if (string.IsNullOrEmpty(qfit.PublicID)) { qfit.PublicID = Guid.NewGuid().ToString(); } EVFitting fit = new EVFitting { Description = qfit.Description, PublicID = qfit.PublicID, ItemID = qfit.FittingID, Name = qfit.Name, ShipID = qfit.ShipID, ShipName = qfit.ShipName, ShipVolume = qfit.ShipVolume, Units = qfit.Units, ShipPrice = qfit.ShipPrice, TotalPrice = qfit.Price, }; fit.ImageUrl32 = imageResolver != null?imageResolver.GetImageURL(qfit.ShipID) : string.Empty;; fit.ShipVolume = RepositorioItems.GetVolume(qfit.InvType); fit.Volume = fit.ShipVolume * fit.Units; fittings.Add(fit); AddFittingHardwaresToFitting(contexto, imageResolver, tradeHubID, fit); } return(fittings); }
private static void AddFittingHardwareToFittingSummary(IImageResolver imageResolver, EveShoppingContext contexto, EVFitting fit) { var qfittingHardwares = (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 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 { sl.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 = fh.units, Slot = fh.slotID, SlotName = fh.eshFittingSlot.name, Units = fh.units, Volume = fh.units * it.volume.Value }); foreach (var item in qfittingHardwares) { item.ImageUrl32 = imageResolver.GetImageURL(item.ItemID); fit.FittingHardwares.Add(item); fit.TotalPrice += item.TotalPrice * fit.Units; fit.Volume += item.Volume * fit.Units; } }