Beispiel #1
0
        public async Task <UserVM> CreateUserAsync(UserVM user)
        {
            try
            {
                var newUser = new User()
                {
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Email     = user.Email
                };

                _ctx.Users.Add(newUser);

                var cellar = new Cellar()
                {
                    Description = user.LastName + "'s Cellar"
                };

                _ctx.Cellars.Add(cellar);

                await _ctx.SaveChangesAsync();

                user.Id = newUser.Id;
                user.CreatedDateTime = newUser.CreatedDateTime;

                return(user);
            }
            catch
            {
                throw;
            }
        }
Beispiel #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            Cellar cellar = db.Cellars.Find(id);

            db.Cellars.Remove(cellar);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    try {
                        var cellar = new Cellar {
                            CellarName = model.CellarName
                        };
                        var member = new Member
                        {
                            Id        = user.Id,
                            Email     = model.Email,
                            FirstName = model.FirstName,
                            LastName  = model.LastName,
                            City      = model.City,
                            State     = model.State,
                            Zip       = model.Zip,
                        };
                        member.Cellars.Add(cellar);

                        using (var db = new CapStoneProjectEntities5())
                        {
                            db.Members.Add(member);
                            db.SaveChanges();
                        }
                    }
                    catch (Exception EX)
                    {
                        var x = 1;
                        //throw;
                    }


                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Beispiel #4
0
 public ActionResult Edit([Bind(Include = "CellarId,Description")] Cellar cellar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cellar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(cellar));
 }
 public void Create(Cellar cellar)
 {
     try
     {
         crudCellar.Create(cellar);
     }
     catch (Exception ex)
     {
         ExceptionManager.GetInstance().Process(ex);
     }
 }
Beispiel #6
0
 public ActionResult Edit([Bind(Include = "Id,MemberId,CellarName")] Cellar cellar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cellar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MemberId = new SelectList(db.Members, "Id", "Email", cellar.MemberId);
     return(View(cellar));
 }
Beispiel #7
0
        public ActionResult Create([Bind(Include = "CellarId,Description")] Cellar cellar)
        {
            if (ModelState.IsValid)
            {
                db.Cellars.Add(cellar);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(cellar));
        }
Beispiel #8
0
        public ActionResult Create([Bind(Include = "Id,MemberId,CellarName")] Cellar cellar)
        {
            if (ModelState.IsValid)
            {
                db.Cellars.Add(cellar);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.MemberId = new SelectList(db.Members, "Id", "Email", cellar.MemberId);
            return(View(cellar));
        }
Beispiel #9
0
        public ActionResult Delete([DataSourceRequest] DataSourceRequest request, Cellar model)
        {
            if (model != null && ModelState.IsValid)
            {
                IRestResponse WSR = Task.Run(() => apiClient.postObject("Bodega/Eliminar", model)).Result;
                if (WSR.StatusCode != HttpStatusCode.OK)
                {
                    ModelState.AddModelError("errorGeneral", JObject.Parse(WSR.Content).ToObject <Error>().Message.ToString());
                }
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Beispiel #10
0
        public ActionResult Update([DataSourceRequest] DataSourceRequest request, Cellar model)
        {
            if (model != null && ModelState.IsValid)
            {
                model.RegisterUser = ((Commons.User)Session["USERINFO"]).UserName;
                IRestResponse WSR = Task.Run(() => apiClient.postObject("Bodega/Modificar", model)).Result;
                if (WSR.StatusCode != HttpStatusCode.OK)
                {
                    ModelState.AddModelError("errorGeneral", JObject.Parse(WSR.Content).ToObject <Error>().Message.ToString());
                }
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Beispiel #11
0
        // GET: Cellars/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cellar cellar = db.Cellars.Find(id);

            if (cellar == null)
            {
                return(HttpNotFound());
            }
            return(View(cellar));
        }
Beispiel #12
0
        public BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var cellar = new Cellar
            {
                Id        = GetIntValue(row, DB_COL_ID),
                Latitude  = GetDecimalValue(row, DB_COL_ID_LATITUDE),
                Longitude = GetDecimalValue(row, DB_COL_ID_LONGITUDE),
                Address   = GetStringValue(row, DB_COL_ADDRESS),
                Id_Store  = GetStringValue(row, DB_COL_ID_STORE),
                State     = GetStringValue(row, DB_COL_STATE)
            };

            return(cellar);
        }
Beispiel #13
0
        //https://localhost:44308/Cellars?beerId=2

        // GET: Cellars/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cellar cellar = db.Cellars.Find(id);

            if (cellar == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IsCurrentUser = cellar.MemberId == User.Identity.GetUserId();
            return(View(cellar));
        }
Beispiel #14
0
        // GET: Cellars/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cellar cellar = db.Cellars.Find(id);

            if (cellar == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MemberId = new SelectList(db.Members, "Id", "Email", cellar.MemberId);
            return(View(cellar));
        }
Beispiel #15
0
        //jon, 11/21/20: Due to a current limitation with SMAPI, locations outside of the farm, farmhouse, and farm buildings are not synced to
        //  other players. Therefore, we cannot support harvesting the cellar unless the player is the main player.
        private Cellar GetCellarForFarmHouseUnderCursor(Vector2 cursorTile)
        {
            Cellar    result       = null;
            Rectangle?hitRectangle = null;

            //Player's cabin/house must have a cellar (upgrade level 3).
            if (Game1.currentLocation == null || Game1.player.houseUpgradeLevel < 3)
            {
                return(null);
            }

            var homeOfFarmer = Utility.getHomeOfFarmer(Game1.player);

            if (homeOfFarmer == null)
            {
                return(null);
            }

            if (Game1.currentLocation.IsFarm && Game1.currentLocation.IsOutdoors && Context.IsMainPlayer)
            {
                //Main player only can do this from the outside of the building

                //Get house/cabin rectangle by finding the porch standing spot and creating house/cabin-size rectangle above it
                var porchSpot = homeOfFarmer.getPorchStandingSpot();
                hitRectangle = (homeOfFarmer is Cabin) ? new Rectangle(porchSpot.X - 1, porchSpot.Y - 3, 5, 3) : new Rectangle(porchSpot.X - 7, porchSpot.Y - 4, 9, 4);

                var isHit = isPointInRectangle(Utility.Vector2ToPoint(cursorTile), hitRectangle.Value);
                if (isHit)
                {
                    result = Game1.getLocationFromName(homeOfFarmer.GetCellarName()) as Cellar;
                }
            }
            else if (Game1.currentLocation.Name == homeOfFarmer.GetCellarName())
            {
                //Other players have to actually be inside the location for the game to sync the contents
                var cellar        = Game1.currentLocation as Cellar;
                var mainDoorPoint = new Point(cellar.warps[0].X, cellar.warps[0].Y);
                hitRectangle = new Rectangle(mainDoorPoint.X - 2, mainDoorPoint.Y, 6, 3);

                var isHit = isPointInRectangle(Utility.Vector2ToPoint(cursorTile), hitRectangle.Value);
                if (isHit)
                {
                    result = cellar;
                }
            }

            return(result);
        }
Beispiel #16
0
 public static List <Pile> TheFirstGame(bool two)
 {
     return(new List <Pile>
     {
         new Pile(Cellar.Get(), 10),
         new Pile(Moat.Get(), 10),
         new Pile(Village.Get(), 10),
         new Pile(Woodcutter.Get(), 10),
         new Pile(Workshop.Get(), 10),
         new Pile(Militia.Get(), 10),
         new Pile(Remodel.Get(), 10),
         new Pile(Smithy.Get(), 10),
         new Pile(Market.Get(), 10),
         new Pile(Mine.Get(), 10),
     }.Concat(VictoryAndTreasures(two)).ToList());
 }
Beispiel #17
0
        public static void ApplyLocation(IContentPack contentPack, Configs.Location location)
        {
            try
            {
                GameLocation loc;
                string       mapPath = contentPack.GetActualAssetKey(location.FileName);
                switch (location.Type)
                {
                case "Cellar":
                    loc = new Cellar(mapPath, location.MapName);
                    break;

                case "BathHousePool":
                    loc = new BathHousePool(mapPath, location.MapName);
                    break;

                case "Decoratable":
                    loc = new Locations.DecoratableLocation(mapPath, location.MapName);
                    break;

                case "Desert":
                    loc = new Locations.Desert(mapPath, location.MapName);
                    break;

                case "Greenhouse":
                    loc = new Greenhouse(mapPath, location.MapName);
                    break;

                case "Sewer":
                    loc = new Locations.Sewer(mapPath, location.MapName);
                    break;

                default:
                    loc = new GameLocation(mapPath, location.MapName);
                    break;
                }

                loc.IsOutdoors = location.Outdoor;
                loc.IsFarm     = location.Farmable;
                Game1.locations.Add(loc);
            }
            catch (Exception err)
            {
                ModEntry.Logger.ExitGameImmediately("Unable to add custom location, a unexpected error occured: " + location, err);
            }
        }
Beispiel #18
0
        public IHttpActionResult Post(Cellar cellar)
        {
            try
            {
                var mng = new CellarManager();
                mng.Create(cellar);

                apiResp         = new ApiResponse();
                apiResp.Message = "Action was executed.";

                return(Ok(apiResp));
            }
            catch (BussinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
        public ActionResult Edit([Bind(Include = "Id,SendingMemberId,ReceivingMemberId,SendingBeerId,ReceiverBeerId,IsApproved,SendingComments,ReceivingComments")] Trade trade)
        {
            if (ModelState.IsValid)
            {//var trade = new trade
                db.Entry(trade).State = EntityState.Modified;
                if (trade.IsApproved.HasValue && trade.IsApproved.Value)
                {
                    Cellar offertradecellar     = db.Cellars.Find(trade.SendingMemberId);
                    Cellar recievingtradecellar = db.Cellars.Find(trade.ReceivingMemberId);
                    Beer   offeretradebeer      = db.Beers.Find(trade.SendingBeerId);
                    Beer   recievingtradebeer   = db.Beers.Find(trade.ReceiverBeerId);

                    offertradecellar.Beers.Remove(offeretradebeer);
                    offertradecellar.Beers.Add(recievingtradebeer);
                    recievingtradecellar.Beers.Add(offeretradebeer);
                    recievingtradecellar.Beers.Remove(recievingtradebeer);

                    var recievingmember = recievingtradecellar.Member;
                    //  var recievingembername = recievingtradecellar.CellarName;
                    var sendingmember = offertradecellar.Member;
                    //  var sendingmembername = recievingtradecellar.CellarName,
                    var bodyTemplate  = "<p>Hi {0}</p><p>Your CraftX trade has been accepted,Enjoy!</p>";
                    var recievingbody = string.Format(bodyTemplate, recievingmember.FirstName);
                    var sendingbody   = string.Format(bodyTemplate, sendingmember.FirstName);
                    MessagSender.SendEmail(recievingmember.Email, "CraftX Acepted Trade Offer", recievingbody);
                    MessagSender.SendEmail(sendingmember.Email, "Acepted Trade Offer", sendingbody);
                }


                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                var error = string.Join("\n", allErrors.Select(e => e.ErrorMessage));
            }
            ViewBag.ReceiverBeerId    = new SelectList(db.Beers, "Id", "Style", trade.ReceiverBeerId);
            ViewBag.SendingBeerId     = new SelectList(db.Beers, "Id", "Style", trade.SendingBeerId);
            ViewBag.ReceivingMemberId = new SelectList(db.Cellars, "Id", "MemberId", trade.ReceivingMemberId);
            ViewBag.SendingMemberId   = new SelectList(db.Cellars, "Id", "MemberId", trade.SendingMemberId);
            return(View(trade));
        }
Beispiel #20
0
        public IHttpActionResult Get(string id_Store)
        {
            try
            {
                var mng    = new CellarManager();
                var cellar = new Cellar
                {
                    Id_Store = id_Store
                };

                Cellar cellarObj = mng.RetrieveById(cellar);
                apiResp      = new ApiResponse();
                apiResp.Data = cellarObj;
                return(Ok(apiResp));
            }
            catch (BussinessException bex)
            {
                return(InternalServerError(new Exception(bex.ExceptionId + "-" + bex.AppMessage.Message)));
            }
        }
Beispiel #21
0
        public void InsertAssetsDb(IList <Asset> listAssets, Guid userId, string company)
        {
            int    count  = 0;
            Cellar cellar = _cellarManager.GetAllCellars(company).FirstOrDefault();

            foreach (Asset asset in listAssets)
            {
                if (count < 500)
                {
                    _assetManager.Create(asset);
                    if (asset.Price < 1)
                    {
                        asset.Price = 1;
                    }

                    Stock stock = Stock.Create(cellar.Id, asset.Id, 1, asset.Price, userId, asset.CreationTime, company);
                    _stockManager.Create(stock);
                }
                count++;
            }
        }
        public async Task <CellarVM> CreateCellarAsync(CellarVM newCellar)
        {
            try
            {
                var cellar = new Cellar()
                {
                    Description = newCellar.Description
                };

                await _ctx.Cellars.AddAsync(cellar);

                await _ctx.SaveChangesAsync();

                newCellar.Id = cellar.Id;

                return(newCellar);
            }
            catch
            {
                throw;
            }
        }
Beispiel #23
0
 public static FarmHouse?GetFarmHouse(this Cellar cellar)
 {
     return(GameExt.GetAllLocations().OfType <FarmHouse>().FirstOrDefault(fh => fh.GetCellarName() == cellar.Name));
 }
Beispiel #24
0
        /// <summary>
        /// Creates a new card based on how many cards have already been made.
        /// </summary>
        /// <param name="card">
        /// The name of the card to be created.
        /// </param>
        /// <returns>
        /// The new created card.
        /// </returns>
        public static Card CreateCard(CardName card)
        {
            Contract.Requires(card != CardName.Backside & card != CardName.Empty);

            Contract.Ensures(Contract.Result<Card>().Name == card);

            Card c;
            switch (card)
            {
                case CardName.Copper:
                    c = new Copper();
                    break;
                case CardName.Silver:
                    c = new Silver();
                    break;
                case CardName.Gold:
                    c = new Gold();
                    break;
                case CardName.Curse:
                    c = new Curse();
                    break;
                case CardName.Estate:
                    c = new Estate();
                    break;
                case CardName.Duchy:
                    c = new Duchy();
                    break;
                case CardName.Province:
                    c = new Province();
                    break;
                case CardName.Gardens:
                    c = new Gardens();
                    break;
                case CardName.Cellar:
                    c = new Cellar();
                    break;
                case CardName.Chapel:
                    c = new Chapel();
                    break;
                case CardName.Chancellor:
                    c = new Chancellor();
                    break;
                case CardName.Village:
                    c = new Village();
                    break;
                case CardName.Woodcutter:
                    c = new Woodcutter();
                    break;
                case CardName.Workshop:
                    c = new Workshop();
                    break;
                case CardName.Feast:
                    c = new Feast();
                    break;
                case CardName.Moneylender:
                    c = new Moneylender();
                    break;
                case CardName.Remodel:
                    c = new Remodel();
                    break;
                case CardName.Smithy:
                    c = new Smithy();
                    break;
                case CardName.ThroneRoom:
                    c = new ThroneRoom();
                    break;
                case CardName.CouncilRoom:
                    c = new CouncilRoom();
                    break;
                case CardName.Festival:
                    c = new Festival();
                    break;
                case CardName.Laboratory:
                    c = new Laboratory();
                    break;
                case CardName.Library:
                    c = new Library();
                    break;
                case CardName.Market:
                    c = new Market();
                    break;
                case CardName.Mine:
                    c = new Mine();
                    break;
                case CardName.Adventurer:
                    c = new Adventurer();
                    break;
                case CardName.Bureaucrat:
                    c = new Bureaucrat();
                    break;
                case CardName.Militia:
                    c = new Militia();
                    break;
                case CardName.Spy:
                    c = new Spy();
                    break;
                case CardName.Thief:
                    c = new Thief();
                    break;
                case CardName.Witch:
                    c = new Witch();
                    break;
                case CardName.Moat:
                    c = new Moat();
                    break;
                default:
                    throw new NotImplementedException("Tried to create a card that was not implemented when CardFactory was last updated.");
            }

            c.Initialize(card, CardsMade[card]);
            CardsMade[card] += 1;
            createdCards.Add(c, true);
            return c;
        }
Beispiel #25
0
 public CreateCellarCommand CreateCellarCommand(Cellar body, IDictionary <string, StringValues> headers) =>
Beispiel #26
0
        // BASE
        static PresetGames()
        {
            games.Add(Games.AllCards1stEdition, new List <Card>
            {
                Adventurer.Get(),
                Bureaucrat.Get(),
                Cellar.Get(),
                CouncilRoom.Get(),
                Feast.Get(),
                Festival.Get(),
                Gardens.Get(),
                Chancellor.Get(),
                Chapel.Get(),
                Laboratory.Get(),
                Library.Get(),
                Market.Get(),
                Militia.Get(),
                Mine.Get(),
                Moat.Get(),
                Moneylender.Get(),
                Remodel.Get(),
                Smithy.Get(),
                Spy.Get(),
                Thief.Get(),
                ThroneRoom.Get(),
                Village.Get(),
                Witch.Get(),
                Woodcutter.Get(),
                Workshop.Get(),
            });

            games.Add(Games.FirstGame, new List <Card>
            {
                Cellar.Get(),
                Moat.Get(),
                Village.Get(),
                Woodcutter.Get(),
                Workshop.Get(),
                Militia.Get(),
                Remodel.Get(),
                Smithy.Get(),
                Market.Get(),
                Mine.Get(),
            });

            games.Add(Games.BigMoney, new List <Card>
            {
                Adventurer.Get(),
                Bureaucrat.Get(),
                Chancellor.Get(),
                Chapel.Get(),
                Feast.Get(),
                Laboratory.Get(),
                Market.Get(),
                Mine.Get(),
                Moneylender.Get(),
                ThroneRoom.Get(),
            });

            games.Add(Games.Interaction, new List <Card>
            {
                Bureaucrat.Get(),
                Chancellor.Get(),
                CouncilRoom.Get(),
                Festival.Get(),
                Library.Get(),
                Militia.Get(),
                Moat.Get(),
                Spy.Get(),
                Thief.Get(),
                Village.Get()
            });

            games.Add(Games.SizeDistortion, new List <Card>
            {
                Cellar.Get(),
                Chapel.Get(),
                Feast.Get(),
                Gardens.Get(),
                Laboratory.Get(),
                Thief.Get(),
                Village.Get(),
                Witch.Get(),
                Woodcutter.Get(),
                Workshop.Get(),
            });

            games.Add(Games.VillageSquare, new List <Card>
            {
                Bureaucrat.Get(),
                Cellar.Get(),
                Festival.Get(),
                Library.Get(),
                Market.Get(),
                Remodel.Get(),
                Smithy.Get(),
                ThroneRoom.Get(),
                Village.Get(),
                Woodcutter.Get(),
            });

            games.Add(Games.ThrashHeap, new List <Card>
            {
                Chapel.Get(),
                Village.Get(),
                Workshop.Get(),
                Woodcutter.Get(),
                Feast.Get(),
                Moneylender.Get(),
                Remodel.Get(),
                Mine.Get(),
                Festival.Get(),
                Market.Get(),
            });
        }
 public CreateCellarCommand(Cellar body, IDictionary <string, StringValues> headers) : base(headers)
 {
     Body             = JsonConvert.SerializeObject(body);
     EventType        = "CellarCreated";
     EventTypeVersion = "1";
 }
Beispiel #28
0
        //private Camera camera = null;

        void IBuildHouse.BuildHouse()
        {
            house = new House();

            int f = 1;

            for (int i = 0, k = 1; i < numberOfEntrances; i++)
            {
                entrance = new Entrance()
                {
                    Area             = 50.00,
                    EntranceNumber   = i + 1,
                    StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                    Cameras          = new List <Camera>()
                    {
                        new Camera()
                        {
                            IpAdress        = "0.0.0.0",
                            Login           = "******",
                            Password        = "******",
                            Resolution      = 2.0,
                            EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                            EntranceId      = i + 1
                        }
                    },
                    Lifts = new List <Lift>()
                    {
                        new Lift()
                        {
                            EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                            EntranceId      = i + 1
                        }
                    },
                    Intercom = new Intercom()
                    {
                        EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                        EntranceId      = i + 1
                    },
                    Lights = new List <Light>()
                    {
                        new Light()
                        {
                            Power           = 100,
                            EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                            EntranceId      = i + 1
                        }
                    }
                };

                for (int j = 0; j < numberOfFloorsInEntrance; j++)
                {
                    hallway = new Hallway()
                    {
                        Area             = 10.45,
                        StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2)
                    };
                    hallway.Lights.Add(
                        new Light()
                    {
                        Power           = 40,
                        EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                        HallwayId       = f++
                    });
                    ctx.Hallways.Add(hallway);

                    appartment = new Appartment()
                    {
                        AppartmentNumber  = k++,
                        Area              = 70.50,
                        StatusOfPremises  = StatusOfPremises.FREE,
                        NumberOfResidents = 0,
                        User              = null,
                        FloorId           = j + 1
                    };
                    ctx.Appartments.Add(appartment);

                    floor = new Floor();
                    floor.NumberOfFloor = j + 1;
                    floor.Hallway       = hallway;
                    floor.Appartments.Add(appartment);
                    entrance.Floors.Add(floor);

                    appartment = new Appartment()
                    {
                        AppartmentNumber  = k++,
                        Area              = 87.50,
                        StatusOfPremises  = StatusOfPremises.FREE,
                        NumberOfResidents = 0,
                        User              = null,
                        FloorId           = j + 2
                    };
                    ctx.Appartments.Add(appartment);
                    floor.Appartments.Add(appartment);

                    ctx.Floors.Add(floor);
                }

                ctx.Entrances.Add(entrance);
                house.Entrances.Add(entrance);
            }


            ///---------------------------------------------------------------------------------------------
            ///Cellar///
            ///---------------------------------------------------------------------------------------------
            for (int i = 0, k = 1; i < numberOfCellars; i++)
            {
                hallway = new Hallway()
                {
                    Area             = 18.60,
                    StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                    Lights           = new List <Light>()
                    {
                        new Light()
                        {
                            Power           = 50,
                            EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                            HallwayId       = f++
                        }
                    },
                    Cameras = new List <Camera>()
                    {
                        new Camera()
                        {
                            IpAdress        = "0.0.0.0",
                            Login           = "******",
                            Password        = "******",
                            Resolution      = 2.0,
                            EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                            HallwayId       = f++
                        }
                    }
                };
                ctx.Hallways.Add(hallway);

                cellar = new Cellar()
                {
                    CellarNumber = i + 1,
                    Hallway      = hallway,
                };

                for (int j = 0; j < numberOfBasementsInCellar; j++)
                {
                    basement = new Basement()
                    {
                        Area             = 20.00,
                        BasementNumber   = k++,
                        StatusOfPremises = StatusOfPremises.FREE,
                        User             = null
                    };
                    ctx.Basements.Add(basement);
                    cellar.Basements.Add(basement);
                }

                ctx.Cellars.Add(cellar);
                house.Cellars.Add(cellar);
            }



            ///---------------------------------------------------------------------------------------------
            ///Parking Territory///
            ///---------------------------------------------------------------------------------------------
            parkingTerritory = new ParkingTerritory()
            {
                Area             = 360,
                StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2)
            };

            for (int i = 0; i < numberOfParkingPlaces; i++)
            {
                parkingPlace = new ParkingPlace()
                {
                    Area               = 15.00,
                    ParkingNumber      = i + 1,
                    StatusOfCleaning   = (StatusOfCleaning)rand.Next(0, 2),
                    StatusOfPremises   = StatusOfPremises.FREE,
                    User               = null,
                    ParkingTerritoryId = 1
                };
                ctx.ParkingPlaces.Add(parkingPlace);
                parkingTerritory.ParkingPlaces.Add(parkingPlace);
            }

            for (int i = 0; i < numberOfGarbagePlaces; i++, garbageCount++)
            {
                garbagePlace = new GarbagePlace()
                {
                    Area               = 5.00,
                    GarbageNumber      = i + 1,
                    StatusOfCleaning   = (StatusOfCleaning)rand.Next(0, 2),
                    ParkingTerritoryId = 1
                };
                ctx.GarbagePlaces.Add(garbagePlace);
                parkingTerritory.GarbagePlaces.Add(garbagePlace);
            }

            for (int i = 0; i < 2; i++)
            {
                Camera camera = new Camera()
                {
                    IpAdress           = "0.0.0.0",
                    Login              = "******",
                    Password           = "******",
                    Resolution         = 2.0,
                    EquipmentStatus    = (EquipmentStatus)rand.Next(0, 2),
                    ParkingTerritoryId = 1
                };
                ctx.Cameras.Add(camera);
                parkingTerritory.Cameras.Add(camera);
            }

            for (int i = 0; i < 2; i++)
            {
                Light light = new Light()
                {
                    Power              = 150,
                    EquipmentStatus    = (EquipmentStatus)rand.Next(0, 2),
                    ParkingTerritoryId = 1
                };
                ctx.Lights.Add(light);
                parkingTerritory.Lights.Add(light);
            }

            ctx.ParkingTerritories.Add(parkingTerritory);


            ///---------------------------------------------------------------------------------------------
            ///Play Ground///
            ///---------------------------------------------------------------------------------------------
            playGround = new PlayGround()
            {
                Area             = 200,
                StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                Cameras          = new List <Camera>
                {
                    new Camera()
                    {
                        IpAdress        = "0.0.0.0",
                        Login           = "******",
                        Password        = "******",
                        Resolution      = 2.0,
                        EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                        PlayGroundId    = 1
                    }
                },
                Lights = new List <Light>
                {
                    new Light()
                    {
                        Power           = 100,
                        EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                        PlayGroundId    = 1
                    }
                },
                GarbagePlaces = new List <GarbagePlace>()
                {
                    new GarbagePlace()
                    {
                        Area             = 5.00,
                        GarbageNumber    = garbageCount++,
                        StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                        PlayGroundId     = 1
                    },
                    new GarbagePlace()
                    {
                        Area             = 5.00,
                        GarbageNumber    = garbageCount++,
                        StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                        PlayGroundId     = 1
                    }
                }
            };
            ctx.PlayGrounds.Add(playGround);

            ///---------------------------------------------------------------------------------------------
            ///Rest Territory///
            ///---------------------------------------------------------------------------------------------
            restTerritory = new RestTerritory()
            {
                Area             = 350,
                StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                Cameras          = new List <Camera>()
                {
                    new Camera()
                    {
                        IpAdress        = "0.0.0.0",
                        Login           = "******",
                        Password        = "******",
                        Resolution      = 2.0,
                        EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                        RestTerritoryId = 1
                    }
                },
                Lights = new List <Light>()
                {
                    new Light()
                    {
                        Power           = 100,
                        EquipmentStatus = (EquipmentStatus)rand.Next(0, 2),
                        RestTerritoryId = 1
                    }
                },
                GarbagePlaces = new List <GarbagePlace>()
                {
                    new GarbagePlace()
                    {
                        Area             = 5.00,
                        GarbageNumber    = garbageCount++,
                        StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                        RestTerritoryId  = 1
                    },
                    new GarbagePlace()
                    {
                        Area             = 5.00,
                        GarbageNumber    = garbageCount++,
                        StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                        RestTerritoryId  = 1
                    }
                }
            };
            ctx.RestTerritories.Add(restTerritory);

            ///---------------------------------------------------------------------------------------------
            ///Adjoining Territory///
            ///---------------------------------------------------------------------------------------------
            adjoiningTerritory = new AdjoiningTerritory()
            {
                Area             = 800,
                StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2),
                PlayGround       = playGround,
                RestTerritory    = restTerritory
            };
            ctx.AdjoiningTerritory.Add(adjoiningTerritory);


            ///---------------------------------------------------------------------------------------------
            ///Territory///
            ///---------------------------------------------------------------------------------------------
            territory = new Territory()
            {
                Area               = 1350,
                ParkingTerritory   = parkingTerritory,
                AdjoiningTerritory = adjoiningTerritory,
                StatusOfCleaning   = (StatusOfCleaning)rand.Next(0, 2),
                GarbagePlace       = new GarbagePlace()
                {
                    Area          = 20,
                    GarbageNumber = garbageCount++,
                    TerritoryId   = 1
                }
            };
            ctx.Territories.Add(territory);



            ///---------------------------------------------------------------------------------------------
            ///Company Data///
            ///---------------------------------------------------------------------------------------------
            companyData = new CompanyData()
            {
                Name   = "Managemrnt Company Ltd",
                Email  = "*****@*****.**",
                Phones = new List <string>()
                {
                    "063-12-12-665", "093-56-89-895"
                }
            };


            ///---------------------------------------------------------------------------------------------
            ///Company///
            ///---------------------------------------------------------------------------------------------
            company = new Company()
            {
                CompanyData = companyData,
            };
            company.Houses.Add(house);
            company.Territories.Add(territory);
            ctx.Companies.Add(company);

            byte[] passByte = Encoding.ASCII.GetBytes(HashMethods.HashMethods.GetHashString("qwer"));
            user = new User()
            {
                Login      = "******",
                Password   = passByte,
                FirstName  = "Mykola",
                LastName   = "Petro",
                Phone      = "066-564-51-23",
                BirthDate  = DateTime.Now,
                Email      = "*****@*****.**",
                UserStatus = UserStatus.ADMIN,
                CompanyId  = 1
            };
            ctx.Users.Add(user);
            company.Users.Add(user);

            passByte = Encoding.ASCII.GetBytes(HashMethods.HashMethods.GetHashString("qwer"));
            user     = new User()
            {
                Login      = "******",
                Password   = passByte,
                FirstName  = "Vasyl",
                LastName   = "Ivan",
                Phone      = "050-452-88-56",
                BirthDate  = DateTime.Now,
                Email      = "*****@*****.**",
                UserStatus = UserStatus.DIRECTOR,
                CompanyId  = 1
            };
            ctx.Users.Add(user);
            company.Users.Add(user);

            passByte = Encoding.ASCII.GetBytes(HashMethods.HashMethods.GetHashString("qwer"));
            user     = new User()
            {
                Login     = "******",
                Password  = passByte,
                FirstName = "Lena",
                LastName  = "Anya",
                Phone     = "050-636-31-23",
                BirthDate = DateTime.Now,
                //Email = "*****@*****.**",
                UserStatus = UserStatus.ACCOUNTANT,
                CompanyId  = 1
            };
            ctx.Users.Add(user);
            company.Users.Add(user);

            passByte = Encoding.ASCII.GetBytes(HashMethods.HashMethods.GetHashString("asdf"));
            user     = new User()
            {
                Login     = "******",
                Password  = passByte,
                FirstName = "Ivan",
                LastName  = "Petro",
                Phone     = "098-459-87-41",
                BirthDate = DateTime.Now,
                //Email = "*****@*****.**",
                UserStatus = UserStatus.JANITOR,
                CompanyId  = 1
            };
            ctx.Users.Add(user);
            company.Users.Add(user);

            passByte = Encoding.ASCII.GetBytes(HashMethods.HashMethods.GetHashString("asdf"));
            user     = new User()
            {
                Login     = "******",
                Password  = passByte,
                FirstName = "Valja",
                LastName  = "Nika",
                Phone     = "067-254-56-89",
                BirthDate = DateTime.Now,
                //Email = "*****@*****.**",
                UserStatus = UserStatus.JANITOR,
                CompanyId  = 1
            };
            ctx.Users.Add(user);
            company.Users.Add(user);



            /////---------------------------------------------------------------------------------------------
            /////Users///
            /////---------------------------------------------------------------------------------------------
            string[] names =
            { "Cate",         "Lida",  "Cherri",  "Dennis",  "Julia",  "Natalie",
              "Veronica", "Alice", "Pauline", "Pauline", "Arthur", "David", "Eugene" };
            string[] lastNames =
            {
                "George", "Victor", "Basil",    "Dennis", "Matthew", "Andrew",
                "Mark",   "Dave",   "Theodore", "Arthur", "David",   "Eugene"
            };
            string[] phoneCode = { "067", "050", "097", "066", "098", "0362" };



            for (int i = 1; i <= 30; i++)
            {
                string phoneNumber = phoneCode[rand.Next(0, 5)] + "-" + rand.Next(0, 9).ToString() + rand.Next(0, 9).ToString() + rand.Next(0, 9).ToString() +
                                     "-" + rand.Next(0, 9).ToString() + rand.Next(0, 9).ToString() + "-" + rand.Next(0, 9).ToString() + rand.Next(0, 9).ToString();

                passByte = Encoding.ASCII.GetBytes(HashMethods.HashMethods.GetHashString("user" + i.ToString()));
                user     = new User()
                {
                    Login     = "******",
                    Password  = passByte,
                    FirstName = names[rand.Next(0, names.Count())].ToString(),
                    LastName  = lastNames[rand.Next(0, lastNames.Count())].ToString(),
                    Phone     = phoneNumber,
                    BirthDate = DateTime.Now,
                    //Email = "*****@*****.**",
                    UserStatus = UserStatus.USER,
                    CompanyId  = 1
                };
                ctx.Users.Add(user);
                company.Users.Add(user);
            }
            ctx.SaveChanges();


            List <Appartment> appartments = ctx.Appartments.ToList();

            for (int i = 0, j = 6; i < 30; i++)
            {
                appartments[i].UserId            = j++;
                appartments[i].NumberOfResidents = rand.Next(1, 5);
                appartments[i].StatusOfPremises  = (StatusOfPremises)rand.Next(1, 3);
                ctx.Entry(appartments[i]).State  = System.Data.Entity.EntityState.Modified;
            }
            ctx.SaveChanges();

            List <ParkingPlace> parking = ctx.ParkingPlaces.ToList();

            for (int i = 0; i < 24; i++)
            {
                parking[i].UserId           = rand.Next(6, 36);
                parking[i].StatusOfPremises = (StatusOfPremises)rand.Next(1, 3);
                parking[i].StatusOfCleaning = (StatusOfCleaning)rand.Next(0, 2);
                ctx.Entry(parking[i]).State = System.Data.Entity.EntityState.Modified;
            }
            ctx.SaveChanges();
        }
        protected override void Seed(AdministracionActivosSobrantes.EntityFramework.AdministracionActivosSobrantesDbContext context)
        {
            // This method will be called every time after migrating to the latest version.
            // You can add any seed data here...
            User saUser = new User();

            saUser.UserCode     = "1-sauser";
            saUser.CompleteName = "Daniel Viquez";
            saUser.Id           = new Guid();
            saUser.UserName     = "******";
            saUser.Password     = "******";
            saUser.Rol          = UserRoles.SuperAdministrador;
            saUser.CompanyName  = _companyName;
            context.Users.Add(saUser);

            User adminUser = new User();

            adminUser.UserCode     = "1-admin";
            adminUser.CompleteName = "Daniel Viquez";
            adminUser.Id           = new Guid();
            adminUser.UserName     = "******";
            adminUser.Password     = "******";
            adminUser.Rol          = UserRoles.SupervisorUca;
            adminUser.CompanyName  = _companyName;
            context.Users.Add(adminUser);

            User bodUser = new User();

            bodUser.UserCode     = "1-auxiliar";
            bodUser.CompleteName = "Daniel Viquez";
            bodUser.Id           = new Guid();
            bodUser.UserName     = "******";
            bodUser.Password     = "******";
            bodUser.Rol          = UserRoles.AuxiliarUca;
            bodUser.CompanyName  = _companyName;
            context.Users.Add(bodUser);

            User coorUser = new User();

            coorUser.UserCode     = "1-dviquez";
            coorUser.CompleteName = "Daniel Viquez";
            coorUser.Id           = new Guid();
            coorUser.UserName     = "******";
            coorUser.Password     = "******";
            coorUser.Rol          = UserRoles.Coordinador;
            coorUser.CompanyName  = _companyName;
            context.Users.Add(coorUser);

            User techUser = new User();

            techUser.UserCode     = "1-solicitante";
            techUser.CompleteName = "Daniel Viquez";
            techUser.Id           = new Guid();
            techUser.UserName     = "******";
            techUser.Password     = "******";
            techUser.Rol          = UserRoles.Solicitante;
            techUser.CompanyName  = _companyName;
            context.Users.Add(techUser);

            IList <Cellar>   cellarList   = new List <Cellar>();
            IList <Category> categoryList = new List <Category>();

            for (int i = 1; i < 2; i++)
            {
                Cellar cellar = Cellar.Create("Bodega" + i, "Direccion" + i, "8888888" + i, bodUser.Id, "", "", saUser.Id, DateTime.Now, "Centro Costo " + i, _companyName);
                context.Cellars.Add(cellar);
                cellarList.Add(cellar);
            }

            for (int i = 1; i < 11; i++)
            {
                Category category = Category.Create("Categoria " + i, "Descripción" + i, saUser.Id, DateTime.Now, _companyName);
                context.Categories.Add(category);
                categoryList.Add(category);
            }
            int index = 0;

            for (int i = 1; i < 11; i++)
            {
                Project project = Project.Create("Proyecto " + i, "Code" + i, "Descripción" + i, DateTime.Now, DateTime.Now, EstadoProyecto.Active, saUser.Id, "Centro Costo " + i, _companyName);
                context.Projects.Add(project);
            }
            index = 0;
            for (int i = 11; i < 22; i++)
            {
                Asset asset = Asset.Create("Clavos " + i, "Descripción 1" + i, "Code" + i, "Code" + i, DateTime.Now, null, 1000, 10, AssetType.Asset, categoryList[0].Id, saUser.Id, DateTime.Now, "", "", "", "", false, _companyName);
                context.Assets.Add(asset);
                Stock stock = Stock.Create(cellarList[0].Id, asset.Id, 10, 1000, saUser.Id, DateTime.Now, _companyName);
                context.Stocks.Add(stock);
                index++;
            }
            index = 0;
            for (int i = 1; i < 11; i++)
            {
                Asset asset = Asset.Create("Martillos " + i, "Descripción 222" + i, "Code" + i, "Code" + i, DateTime.Now, null, 2000, 20, AssetType.Asset, categoryList[1].Id, saUser.Id, DateTime.Now, "", "", "", "", false, _companyName);
                context.Assets.Add(asset);
                Stock stock = Stock.Create(cellarList[0].Id, asset.Id, 10, 1000, saUser.Id, DateTime.Now, _companyName);
                context.Stocks.Add(stock);
                index++;
            }
            context.SaveChanges();
        }
 public void Update(Cellar cellar)
 {
     crudCellar.Update(cellar);
 }
 public Cellar RetrieveById(Cellar cellar)
 {
     return(crudCellar.Retrieve <Cellar>(cellar));
 }