Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 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();
 }
Пример #4
0
        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();
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        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();
        }