public eshFitting MountFittingFromFittingAnalysed(FittingAnalyzed fit) { RepositorioItems repo = new RepositorioItems(); eshFitting salida = new eshFitting(); salida.name = fit.Name; salida.description = fit.Description; invType shipType = repo.SelectItemTypePorName(fit.Ship); if (shipType == null) { throw new ApplicationException(Messages.err_nombreItemAnalizadaNoExiste); } salida.shipTypeID = shipType.typeID; salida.shipVolume = RepositorioItems.GetVolume(shipType); double totalVol = salida.shipVolume; foreach (var item in fit.Items) { eshFittingHardware fhwd = MountFittingHardware(item, repo); salida.eshFittingHardwares.Add(fhwd); totalVol += fhwd.volume; } salida.volume = totalVol; return(salida); }
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 void CrearFitting(eshFitting fit) { if (string.IsNullOrEmpty(fit.publicID)) { fit.publicID = Guid.NewGuid().ToString(); } fit.dateCreation = System.DateTime.Now; this.Contexto.eshFittings.Add(fit); this.Contexto.SaveChanges(); }
public void DeleteFitting(int fittingID, string userName) { EveShoppingContext context = new EveShoppingContext(); using (TransactionScope scope = new TransactionScope()) { eshFitting fit = context.eshFittings.Where(f => f.fittingID == fittingID).FirstOrDefault(); if (fit == null) { throw new ApplicationException(Messages.err_fittingNoExiste); } UserProfile up = context.UserProfiles.Where(u => u.UserName == userName).FirstOrDefault(); if (up == null) { throw new ApplicationException(Messages.err_usuarioNoExiste); } if (fit.userID.HasValue && fit.userID != up.UserId) { throw new ApplicationException(Messages.err_notOwner); } //if fitting is used in any shopping list, we cant completly remove it, will just not relate to this user if (fit.eshShoppingListFittings.Count >= 0) { fit.userID = null; } //else, the fitting is not used, we can delete it completly else { IEnumerable <eshFittingHardware> fithwds = fit.eshFittingHardwares.ToList(); foreach (var item in fithwds) { context.eshFittingHardwares.Remove(item); } context.eshFittings.Remove(fit); } context.SaveChanges(); scope.Complete(); } }
public int SaveAnalisedFit(string listPublicId, FittingAnalyzed fitAnalysed, string userName = null) { EveShoppingContext contexto = new EveShoppingContext(); eshShoppingList lista = null; eshFitting fit = null; using (TransactionScope scope = new TransactionScope()) { fit = MountFittingFromFittingAnalysed(fitAnalysed); RepositorioShoppingLists repo = new RepositorioShoppingLists(contexto); if (!string.IsNullOrEmpty(listPublicId)) { lista = repo.SelectShopingListPorPublicID(listPublicId); eshShoppingListFitting relation = new eshShoppingListFitting(); fit.eshShoppingListFittings.Add(relation); relation.eshShoppingList = lista; relation.units = 1; repo.ShoppingListUpdated(lista.shoppingListID); } if (!string.IsNullOrEmpty(userName)) { UserProfile up = contexto.UserProfiles.Where(u => u.UserName == userName).FirstOrDefault(); if (up == null) { throw new ApplicationException(Messages.err_usuarioNoExiste); } fit.userID = up.UserId; } repo.CrearFitting(fit); scope.Complete(); } return(fit.fittingID); }
public void DeleteFitFromShoppingLIST(int id, int fittingID, EveShoppingContext context) { eshFitting fit = context.eshFittings.Where(f => f.fittingID == fittingID).FirstOrDefault(); eshShoppingListFitting slf = context.eshShoppingListFittings.Where(s => s.shoppingListID == id && s.fittingID == fit.fittingID).FirstOrDefault(); context.eshShoppingListFittings.Remove(slf); if (!fit.userID.HasValue) { context.eshFittings.Remove(fit); } RepositorioShoppingLists repo = new RepositorioShoppingLists(); foreach (var item in fit.eshShoppingListFittings) { repo.ShoppingListUpdated(item.shoppingListID, context); } context.SaveChanges(); }