public FranchiseUserDto UpdateFranchise(int franchiseId, FranchiseUserDto franchiseDto)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var franchise = dbContext.Franchises.FirstOrDefault(f => f.FranchiseId == franchiseId);
             if (franchise == null)
             {
                 return(null);
             }
             franchise.Name = franchiseDto.FranchiseName;
             var franchiseUser = dbContext.Users.FirstOrDefault(fu => fu.UserId == franchise.UserId);
             if (franchiseUser != null)
             {
                 franchiseUser.Name     = franchiseDto.FranchiseUser.Name;
                 franchiseUser.Email    = franchiseDto.FranchiseUser.Email;
                 franchiseUser.Password = franchiseDto.FranchiseUser.Password;
                 franchiseUser.cnic     = franchiseDto.FranchiseUser.cnic;
             }
             ;
             dbContext.SaveChanges();
             return(new FranchiseUserDto
             {
                 FranchiseId = franchiseId,
                 FranchiseName = franchise.Name,
                 FranchiseUser = Mapper.Map <SimpleUserDto>(franchiseUser)
             });
         }
         catch (Exception e)
         {
             return(null);
         }
     }
 }
 public FranchiseUserDto AddFranchise(FranchiseUserDto franchiseDto)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var franchise = dbContext.Franchises.FirstOrDefault(f => f.FranchiseId == franchiseDto.FranchiseId);
             if (franchise == null)
             {
                 var user = dbContext.Users.FirstOrDefault(a => a.Email == franchiseDto.FranchiseUser.Email);
                 if (user == null)
                 {
                     User newUser = new User()
                     {
                         Name     = franchiseDto.FranchiseUser.Name,
                         Email    = franchiseDto.FranchiseUser.Email,
                         Password = franchiseDto.FranchiseUser.Password,
                         cnic     = franchiseDto.FranchiseUser.cnic,
                     };
                     dbContext.Users.Add(newUser);
                     var newFranchise = dbContext.Franchises.Add(new Franchise
                     {
                         Name   = franchiseDto.FranchiseName,
                         UserId = newUser.UserId
                     });
                     var role = dbContext.Roles.FirstOrDefault(r => r.Title == "Franchise");
                     if (role != null)
                     {
                         var userRole = new UserRole
                         {
                             UserId = newUser.UserId,
                             RoleId = role.RoleId
                         };
                         dbContext.UserRoles.Add(userRole);
                         var allViews = dbContext.Views.ToList();
                         var userView = new List <UserView>
                         {
                             new UserView {
                                 UserId = newUser.UserId, ViewId = allViews.First(v => v.Title == "Dashboard").ViewId
                             },
                             new UserView {
                                 UserId = newUser.UserId, ViewId = allViews.First(v => v.Title == "Admin").ViewId
                             },
                         };
                         dbContext.UserViews.AddRange(userView);
                         dbContext.SaveChanges();
                         return(new FranchiseUserDto
                         {
                             FranchiseId = newFranchise.FranchiseId,
                             FranchiseName = newFranchise.Name,
                             FranchiseUser = Mapper.Map <SimpleUserDto>(newUser)
                         });
                     }
                 }
             }
             return(null);
         }
         catch (Exception e)
         {
             return(null);
         }
     }
 }