示例#1
0
        public ActionResult Create([Bind(Include = "ManagerBuildingId,ManagerId,BuildingId")] ManagerBuilding managerBuilding)
        {
            var userName = User.Identity.GetUserName();

            if (ModelState.IsValid)
            {
                if (_managerBuildingService.ChceckIfExists(managerBuilding))
                {
                    ModelState.AddModelError("", "You can not add the same manager for the same building two times");
                    ViewBag.BuildingId = new SelectList(db.buildings.Where(x => x.OwnerEmail == userName), "BuildingId", "BuildingName", managerBuilding.BuildingId);
                    ViewBag.ManagerId  = new SelectList(db.Managers.Where(x => x.OwnerEmail == userName), "ManagerId", "FullName", managerBuilding.ManagerId);
                    return(View(managerBuilding));
                }
                else
                {
                    db.ManagerBuildings.Add(managerBuilding);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.BuildingId = new SelectList(db.buildings.Where(x => x.OwnerEmail == userName), "BuildingId", "BuildingName", managerBuilding.BuildingId);
            ViewBag.ManagerId  = new SelectList(db.Managers.Where(x => x.OwnerEmail == userName), "ManagerId", "FullName", managerBuilding.ManagerId);
            return(View(managerBuilding));
        }
示例#2
0
        public ActionResult DeleteConfirmed(int id)
        {
            ManagerBuilding managerBuilding = db.ManagerBuildings.Find(id);

            db.ManagerBuildings.Remove(managerBuilding);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#3
0
 public ActionResult Edit([Bind(Include = "ManagerBuildingId,ManagerId,BuildingId")] ManagerBuilding managerBuilding)
 {
     if (ModelState.IsValid)
     {
         db.Entry(managerBuilding).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BuildingId = new SelectList(db.buildings, "BuildingId", "BuildingName", managerBuilding.BuildingId);
     ViewBag.ManagerId  = new SelectList(db.Managers, "ManagerId", "FullName", managerBuilding.ManagerId);
     return(View(managerBuilding));
 }
        public ActionResult ManagerBuildingDelete(DisplayClientBuilding model, int BuildingID2)
        {
            ManagerBuilding MB = db.ManagerBuilding
                                 .Where(c => c.BuildingID == BuildingID2 && c.UserID == model.ManagerID)
                                 .FirstOrDefault();

            if (MB != null)
            {
                db.ManagerBuilding.Remove(MB);
                db.SaveChanges();
            }
            return(RedirectToAction("SelectBuilding", model));
        }
示例#5
0
        // GET: ManagerBuildings/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ManagerBuilding managerBuilding = db.ManagerBuildings.Find(id);

            if (managerBuilding == null)
            {
                return(HttpNotFound());
            }
            return(View(managerBuilding));
        }
示例#6
0
        public bool ChceckIfExists(ManagerBuilding managerBuilding)
        {
            bool result    = false;
            var  dbRecords = _managerBuildingRepository.GetAll();

            foreach (var item in dbRecords)
            {
                if (item.ManagerId == managerBuilding.ManagerId && item.BuildingId == managerBuilding.BuildingId)
                {
                    result = true;
                }
            }
            return(result);
        }
示例#7
0
        // GET: ManagerBuildings/Edit/5
        public ActionResult Edit(int?id)
        {
            var userName = User.Identity.GetUserName();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ManagerBuilding managerBuilding = db.ManagerBuildings.Find(id);

            if (managerBuilding == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BuildingId = new SelectList(db.buildings.Where(x => x.OwnerEmail == userName), "BuildingId", "BuildingName", managerBuilding.BuildingId);
            ViewBag.ManagerId  = new SelectList(db.Managers.Where(x => x.OwnerEmail == userName), "ManagerId", "FullName", managerBuilding.ManagerId);
            return(View(managerBuilding));
        }
        public ActionResult ManagerBuilding(DisplayClientBuilding model, int BuildingID)
        {
            //1. set ManagerBuilding Obj and save it in db
            //2. load clients, Buildings, assigned buildings to the current manager
            //3.
            model.Manager = db.Manager.Find(model.ManagerID);
            ManagerBuilding ObjMB = new ManagerBuilding
            {
                BuildingID = BuildingID,
                UserID     = model.ManagerID,
                ManagerID  = model.ManagerID
            };

            if (db.ManagerBuilding.Where(c => c.UserID == model.ManagerID && c.BuildingID == BuildingID).FirstOrDefault() == null)
            {
                db.ManagerBuilding.Add(ObjMB);
                db.SaveChanges();
            }
            //get All clients
            model.clients = db.Clients.Where(c => c.ID == model.ClientID).ToList();
            //get all entries that belong to the current Manager on the managerbuilding table
            model.ManagerBuildings = db.ManagerBuilding.Where(c => c.UserID == model.ManagerID).ToList();
            //selected client's building
            var selectedclitentbuildings = db.Buildings
                                           .Where(c => c.Clients.ID == model.ClientID).ToList();

            model.buildings = db.Buildings.Where(c => c.ClientID == model.ClientID).ToList();
            if (selectedclitentbuildings != null)
            {
                foreach (var item in model.ManagerBuildings)
                {    //building that exist on managerbuilding deck
                    Buildings removeit = db
                                         .Buildings
                                         .First(c => c.ID == @item.BuildingID);
                    //note: current user records
                    model.buildings.Remove(removeit);
                    model.BuildingsOnDeck.Add(removeit);
                }
            }

            return(View("SelectBuilding", model));
        }
        public ActionResult RemoveManager(int BuildingID, int ClientID, string ManagerID)
        {
            ApplicationDbContext context = new ApplicationDbContext();
            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            Manager         Obj      = db.Manager.Find(ManagerID);
            AspNetUsers     user     = db.AspNetUsers.Find(ManagerID);
            ManagerBuilding managerb = db.ManagerBuilding.Where(c => c.ManagerID == ManagerID).FirstOrDefault();


            UserManager.RemoveFromRole(ManagerID, "Manager");//from role Manager
            context.SaveChanges();

            db.ManagerBuilding.Remove(managerb);// mapping row building and user
            db.SaveChanges();

            db.Manager.Remove(Obj);      //manager
            db.SaveChanges();

            db.AspNetUsers.Remove(user);     //remove user
            db.SaveChanges();

            return(RedirectToAction("ManagementBuilding", new { BuildingID = BuildingID }));
        }
示例#10
0
 public bool Update(ManagerBuilding managerBuilding)
 {
     return(_managerBuildingRepository.Update(managerBuilding));
 }
示例#11
0
 public bool Insert(ManagerBuilding managerBuilding)
 {
     return(_managerBuildingRepository.Insert(managerBuilding));
 }
示例#12
0
 public bool Delete(ManagerBuilding managerBuilding)
 {
     return(_managerBuildingRepository.Delete(managerBuilding));
 }
 public bool Update(ManagerBuilding managerBuilding)
 {
     return(_databaseService.Update(managerBuilding));
 }
 public bool Insert(ManagerBuilding managerBuilding)
 {
     return(_databaseService.Insert(managerBuilding));
 }
 public bool Delete(ManagerBuilding managerBuilding)
 {
     return(_databaseService.Delete(managerBuilding));
 }
        public async Task <ActionResult> AddManagerTobuilding(ManagementBuilding model, ManagerVM model2)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View("ManagementBuilding", model));
                }
                ApplicationDbContext context = new ApplicationDbContext();

                var            UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
                PasswordHasher hasher      = new PasswordHasher();
                var            a           = UserManager.FindByEmail(model2.Email);
                if (a != null)
                {
                    return(View("ManagementBuilding", model));
                }
                ApplicationUser AppUser = new ApplicationUser()
                {
                    Id                   = Guid.NewGuid().ToString(),
                    Email                = model2.Email,
                    UserName             = model2.Username,
                    SecurityStamp        = Guid.NewGuid().ToString(),
                    PhoneNumber          = model2.Phone,
                    LockoutEnabled       = false,
                    LockoutEndDateUtc    = DateTime.Now.AddDays(365),
                    AccessFailedCount    = 0,
                    PhoneNumberConfirmed = false,
                    TwoFactorEnabled     = false,
                    EmailConfirmed       = false,
                    PasswordHash         = hasher.HashPassword(model2.Password)
                };
                string[] FullName = model2.FullName.Split(new string[] { " " }, StringSplitOptions.None);
                Manager  mgr      = new Manager()
                {
                    ID        = AppUser.Id,
                    FirstName = FullName[0].ToString(),
                    LastName  = FullName[1].ToString(),
                    Phone     = model2.Phone,
                    ClientID  = model2.clientID
                };
                db.Manager.Add(mgr);
                context.Users.Add(AppUser);

                await context.SaveChangesAsync();

                await db.SaveChangesAsync();

                RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
                if (!RoleManager.RoleExists("Manager"))
                {
                    var roleresult = RoleManager.Create(new IdentityRole("Manager"));
                }
                var Result = UserManager.AddToRole(AppUser.Id, "Manager");

                ManagerBuilding ObjManagerBuilding = new ManagerBuilding()
                {
                    BuildingID = model2.BuildingID,
                    ManagerID  = mgr.ID,
                    UserID     = mgr.ID
                };

                db.ManagerBuilding.Add(ObjManagerBuilding);
                await db.SaveChangesAsync();
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
            return(RedirectToAction("ManagementBuilding", new { BuildingID = model2.BuildingID }));
        }