Beispiel #1
0
        // GET: MembershipTypes/Edit/5
        public ActionResult Edit(int id)
        {
            ActionResult             returnObject = null;
            ViewModelMembershipTypes vm           = null;
            HandleErrorInfo          ErrorMessage = null;

            while (true)
            {
                ModelMembershipTypes m = new ModelMembershipTypes(this);
                MembershipTypes      r = m.Get(id);
                if (r == null)
                {
                    ErrorMessage = new HandleErrorInfo(m.exception.GetBaseException(), "MembershipTypes", "Edit");
                    returnObject = View("Error", ErrorMessage);
                    break;
                }


                vm           = new ViewModelMembershipTypes(r);
                returnObject = View("Edit", vm);
                break;
            }

            return(returnObject);
        }
        public bool Update(MembershipTypes r)
        {
            bool returnValue = false;

            ClearError();

            MembershipTypes record = Get(r.Id);

            if (record != null)
            {
                try
                {
                    record.Assign(r);
                    _dataContext.SaveChanges();
                    returnValue = true;
                }
                catch (Exception e)
                {
                    SetError(e);
                    returnValue = false;
                }
            }

            return(returnValue);
        }
Beispiel #3
0
 public ViewModelMembershipTypes(MembershipTypes r)
 {
     IdMembershipType     = r.Id;
     this.MembershipType  = r.MembershipType;
     this.AnnualFee       = r.AnnualFee ?? 0;
     this.ProrataPayments = r.ProrataPayments ?? 0;
 }
        public ActionResult DeleteConfirmed(int id)
        {
            MembershipTypes membershipTypes = db.MembershipTypes.Find(id);

            db.MembershipTypes.Remove(membershipTypes);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit(MembershipTypes membershipTypes)
 {
     if (ModelState.IsValid)
     {
         db.Entry(membershipTypes).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(membershipTypes));
 }
        public ActionResult Create(MembershipTypes membershipTypes)
        {
            if (ModelState.IsValid)
            {
                db.MembershipTypes.Add(membershipTypes);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(membershipTypes));
        }
Beispiel #7
0
 public void Update(GroupFeatures?other)
 {
     if (other is null)
     {
         return;
     }
     if (MaximumMembers != other.MaximumMembers)
     {
         MaximumMembers = other.MaximumMembers;
         OnPropertyChanged(nameof(MaximumMembers));
     }
     if (MaximumMembershipsOfGroupType != other.MaximumMembershipsOfGroupType)
     {
         MaximumMembershipsOfGroupType = other.MaximumMembershipsOfGroupType;
         OnPropertyChanged(nameof(MaximumMembershipsOfGroupType));
     }
     if (Capabilities != other.Capabilities)
     {
         Capabilities = other.Capabilities;
         OnPropertyChanged(nameof(Capabilities));
     }
     if (!MembershipTypes.DeepEqualsListNaive(other.MembershipTypes))
     {
         MembershipTypes = other.MembershipTypes;
         OnPropertyChanged(nameof(MembershipTypes));
     }
     if (InvitePermissionOverride != other.InvitePermissionOverride)
     {
         InvitePermissionOverride = other.InvitePermissionOverride;
         OnPropertyChanged(nameof(InvitePermissionOverride));
     }
     if (UpdateCulturePermissionOverride != other.UpdateCulturePermissionOverride)
     {
         UpdateCulturePermissionOverride = other.UpdateCulturePermissionOverride;
         OnPropertyChanged(nameof(UpdateCulturePermissionOverride));
     }
     if (HostGuidedGamePermissionOverride != other.HostGuidedGamePermissionOverride)
     {
         HostGuidedGamePermissionOverride = other.HostGuidedGamePermissionOverride;
         OnPropertyChanged(nameof(HostGuidedGamePermissionOverride));
     }
     if (UpdateBannerPermissionOverride != other.UpdateBannerPermissionOverride)
     {
         UpdateBannerPermissionOverride = other.UpdateBannerPermissionOverride;
         OnPropertyChanged(nameof(UpdateBannerPermissionOverride));
     }
     if (JoinLevel != other.JoinLevel)
     {
         JoinLevel = other.JoinLevel;
         OnPropertyChanged(nameof(JoinLevel));
     }
 }
Beispiel #8
0
 public bool DeepEquals(GroupFeatures?other)
 {
     return(other is not null &&
            MaximumMembers == other.MaximumMembers &&
            MaximumMembershipsOfGroupType == other.MaximumMembershipsOfGroupType &&
            Capabilities == other.Capabilities &&
            MembershipTypes.DeepEqualsListNaive(other.MembershipTypes) &&
            InvitePermissionOverride == other.InvitePermissionOverride &&
            UpdateCulturePermissionOverride == other.UpdateCulturePermissionOverride &&
            HostGuidedGamePermissionOverride == other.HostGuidedGamePermissionOverride &&
            UpdateBannerPermissionOverride == other.UpdateBannerPermissionOverride &&
            JoinLevel == other.JoinLevel);
 }
        // GET: MembershipType/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MembershipTypes membershipTypes = db.MembershipTypes.Find(id);

            if (membershipTypes == null)
            {
                return(HttpNotFound());
            }
            return(View(membershipTypes));
        }
        public bool Insert(MembershipTypes r)
        {
            bool returnValue = true;

            ClearError();
            try
            {
                _dataContext.MembershipTypes.Add(r);
                _dataContext.SaveChanges();
            }
            catch (Exception e)
            {
                SetError(e);
                returnValue = false;
            }
            return(returnValue);
        }
Beispiel #11
0
 public WebResponce SearchMembershipType([FromBody] MembershipTypes membershipType)
 {
     try
     {
         webResponce = Setting.SearchMembershipType(membershipType);
         return(webResponce);
     }
     catch (Exception Ex)
     {
         webResponce = new WebResponce()
         {
             Code    = -1,
             Message = Ex.Message
         };
         return(webResponce);
     }
 }
Beispiel #12
0
 public WebResponce GetMembershipTypeById([FromBody] MembershipTypes membershipType)
 {
     try
     {
         webResponce = Setting.GetMembershipTypeById(membershipType.Id);
         return(webResponce);
     }
     catch (Exception Ex)
     {
         webResponce = new WebResponce()
         {
             Code    = -1,
             Message = Ex.Message
         };
         return(webResponce);
     }
 }
Beispiel #13
0
        public bool Equals(GroupFeatures input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     MaximumMembers == input.MaximumMembers ||
                     (MaximumMembers.Equals(input.MaximumMembers))
                     ) &&
                 (
                     MaximumMembershipsOfGroupType == input.MaximumMembershipsOfGroupType ||
                     (MaximumMembershipsOfGroupType.Equals(input.MaximumMembershipsOfGroupType))
                 ) &&
                 (
                     Capabilities == input.Capabilities ||
                     (Capabilities != null && Capabilities.Equals(input.Capabilities))
                 ) &&
                 (
                     MembershipTypes == input.MembershipTypes ||
                     (MembershipTypes != null && MembershipTypes.SequenceEqual(input.MembershipTypes))
                 ) &&
                 (
                     InvitePermissionOverride == input.InvitePermissionOverride ||
                     (InvitePermissionOverride != null && InvitePermissionOverride.Equals(input.InvitePermissionOverride))
                 ) &&
                 (
                     UpdateCulturePermissionOverride == input.UpdateCulturePermissionOverride ||
                     (UpdateCulturePermissionOverride != null && UpdateCulturePermissionOverride.Equals(input.UpdateCulturePermissionOverride))
                 ) &&
                 (
                     HostGuidedGamePermissionOverride == input.HostGuidedGamePermissionOverride ||
                     (HostGuidedGamePermissionOverride != null && HostGuidedGamePermissionOverride.Equals(input.HostGuidedGamePermissionOverride))
                 ) &&
                 (
                     UpdateBannerPermissionOverride == input.UpdateBannerPermissionOverride ||
                     (UpdateBannerPermissionOverride != null && UpdateBannerPermissionOverride.Equals(input.UpdateBannerPermissionOverride))
                 ) &&
                 (
                     JoinLevel == input.JoinLevel ||
                     (JoinLevel != null && JoinLevel.Equals(input.JoinLevel))
                 ));
        }
Beispiel #14
0
 public WebResponce UpdateMembershipType([FromBody] MembershipTypes membershipType)
 {
     try
     {
         membershipType.ModifiedBy = Crypto.DecryptString(Request.Cookies["jkfitness.cookie"]);
         webResponce = Setting.UpdateMembershipType(membershipType);
         return(webResponce);
     }
     catch (Exception Ex)
     {
         webResponce = new WebResponce()
         {
             Code    = -1,
             Message = Ex.Message
         };
         return(webResponce);
     }
 }
        public MembershipTypes Get(Int32 id)
        {
            MembershipTypes returnObject = null;

            ClearError();

            try
            {
                returnObject = (from t in _dataContext.MembershipTypes
                                where t.Id == id
                                select t).Single();
            }
            catch (Exception e)
            {
                SetError(e);
            }

            return(returnObject);
        }
        public bool Delete(Int32 id)
        {
            bool returnValue = false;

            ClearError();
            MembershipTypes record = Get(id);

            if (record != null)
            {
                try
                {
                    _dataContext.MembershipTypes.Remove(record);
                    _dataContext.SaveChanges();
                    returnValue = true;
                }
                catch (Exception e)
                {
                    SetError(e);
                    returnValue = false;
                }
            }
            return(returnValue);
        }
Beispiel #17
0
        public ActionResult Create(ViewModelMembershipTypes vm)
        {
            ActionResult returnObject = null;

            bool SuccessYN = true;

            while (true)
            {
                if (ModelState.IsValid == false)
                {
                    SuccessYN = false;
                    break;
                }

                MembershipTypes      r = new MembershipTypes(vm);
                ModelMembershipTypes m = new ModelMembershipTypes(this);
                if (m.Insert(r) == false)
                {
                    ModelState.AddModelError("", m.exception.GetBaseException().Message);
                    SuccessYN = false;
                    break;
                }

                break;
            }

            if (SuccessYN == true)
            {
                returnObject = RedirectToAction("Index");
            }
            else
            {
                returnObject = View("Create", vm);
            }

            return(returnObject);
        }
Beispiel #18
0
 private static void AddMembership(Member member, DateTime registerDate, MembershipTypes memberShipType)
 {
     member.Memberships.Add(new Membership(registerDate, memberShipType));
     Console.WriteLine($"{member.FirstName} {member.LastName}" +
                       $" has membership of type {memberShipType} from {registerDate} to {registerDate.AddMonths(1)}");
 }
Beispiel #19
0
 public Membership(DateTime registerDate, MembershipTypes memberShipType)
 {
     MembershipId   = Guid.NewGuid();
     RegisterDate   = registerDate;
     MemberShipType = memberShipType;
 }
 public bool Delete(MembershipTypes r)
 {
     return(Delete(r.Id));
 }
Beispiel #21
0
        public ActionResponse UnApproveMembershipRequest(int userId, int projectId, int funderId, int ownerId, MembershipTypes membershipType)
        {
            using (var unitWork = new UnitOfWork(context))
            {
                ActionResponse response = new ActionResponse();
                IMessageHelper mHelper;
                UserTypes      userType = UserTypes.Standard;

                var actionUser = unitWork.UserRepository.GetOne(u => u.Id == ownerId);
                if (actionUser != null)
                {
                    userType = actionUser.UserType;
                }

                if (userType != UserTypes.Manager && userType != UserTypes.SuperAdmin)
                {
                    var isUserOwner = unitWork.ProjectRepository.GetOne(p => (p.Id == projectId && p.CreatedById == ownerId));
                    if (isUserOwner == null)
                    {
                        var isFunderOwner      = unitWork.ProjectFundersRepository.GetOne(f => f.FunderId == funderId && f.ProjectId == projectId);
                        var isImplementerOwner = unitWork.ProjectImplementersRepository.GetOne(i => i.ImplementerId == funderId && i.ProjectId == projectId);

                        if (isFunderOwner == null && isImplementerOwner == null)
                        {
                            mHelper          = new MessageHelper();
                            response.Message = mHelper.GetInvalidFunderApprovalMessage();
                            response.Success = false;
                            return(response);
                        }
                    }
                }

                var user = unitWork.UserRepository.GetOne(u => u.Id == userId);
                if (user == null)
                {
                    mHelper          = new MessageHelper();
                    response.Message = mHelper.GetNotFound("User");
                    response.Success = false;
                    return(response);
                }

                var project = unitWork.ProjectRepository.GetOne(p => p.Id == projectId);
                if (project == null)
                {
                    mHelper          = new MessageHelper();
                    response.Message = mHelper.GetNotFound("Project");
                    response.Success = false;
                    return(response);
                }

                var isRequestExists = unitWork.ProjectMembershipRepository.GetOne(r => r.ProjectId == projectId && r.UserId == user.Id && r.MembershipType == membershipType);
                if (isRequestExists == null)
                {
                    mHelper          = new MessageHelper();
                    response.Message = mHelper.GetNotFound("Membership Request");
                    response.Success = false;
                    return(response);
                }
                unitWork.ProjectMembershipRepository.Delete(isRequestExists);
                unitWork.Save();

                //Send status email
                string requestedProject            = project.Title;
                List <EmailAddress> usersEmailList = new List <EmailAddress>();
                usersEmailList.Add(new EmailAddress()
                {
                    Email = user.Email,
                });

                if (usersEmailList.Count > 0)
                {
                    //Send emails
                    ISMTPSettingsService smtpService = new SMTPSettingsService(context);
                    var smtpSettings = smtpService.GetPrivate();
                    SMTPSettingsModel smtpSettingsModel = new SMTPSettingsModel();
                    if (smtpSettings != null)
                    {
                        smtpSettingsModel.Host       = smtpSettings.Host;
                        smtpSettingsModel.Port       = smtpSettings.Port;
                        smtpSettingsModel.Username   = smtpSettings.Username;
                        smtpSettingsModel.Password   = smtpSettings.Password;
                        smtpSettingsModel.AdminEmail = smtpSettings.AdminEmail;
                        smtpSettingsModel.SenderName = smtpSettings.SenderName;
                    }

                    string message = "", subject = "", footerMessage = "";
                    var    emailMessage = unitWork.EmailMessagesRepository.GetOne(m => m.MessageType == EmailMessageType.ProjectPermissionDenied);
                    if (emailMessage != null)
                    {
                        subject       = emailMessage.Subject;
                        message       = emailMessage.Message;
                        footerMessage = emailMessage.FooterMessage;
                    }

                    mHelper  = new MessageHelper();
                    message += mHelper.ProjectPermissionDenied(requestedProject);
                    IEmailHelper emailHelper = new EmailHelper(smtpSettingsModel.AdminEmail, smtpSettings.SenderName, smtpSettingsModel);
                    emailHelper.SendEmailToUsers(usersEmailList, subject, "", message, footerMessage);
                }
                return(response);
            }
        }
Beispiel #22
0
        public async Task <ActionResponse> ApproveMembershipRequestAsync(int userId, int projectId, int funderId, int ownerId, MembershipTypes membershipType)
        {
            using (var unitWork = new UnitOfWork(context))
            {
                ActionResponse response = new ActionResponse();
                IMessageHelper mHelper;
                UserTypes      userType = UserTypes.Standard;

                var user = unitWork.UserRepository.GetOne(u => u.Id == userId);
                if (user == null)
                {
                    mHelper          = new MessageHelper();
                    response.Message = mHelper.GetNotFound("User");
                    response.Success = false;
                    return(response);
                }

                var actionUser = unitWork.UserRepository.GetOne(u => u.Id == ownerId);
                if (actionUser != null)
                {
                    userType = actionUser.UserType;
                }

                if (userType != UserTypes.Manager && userType != UserTypes.SuperAdmin)
                {
                    var isUserOwner = unitWork.ProjectRepository.GetOne(p => (p.Id == projectId && p.CreatedById == ownerId));
                    if (isUserOwner == null)
                    {
                        var isFunderOwner      = unitWork.ProjectFundersRepository.GetOne(f => f.FunderId == funderId && f.ProjectId == projectId);
                        var isImplementerOwner = unitWork.ProjectImplementersRepository.GetOne(i => i.ImplementerId == funderId && i.ProjectId == projectId);

                        if (isFunderOwner == null && isImplementerOwner == null)
                        {
                            mHelper          = new MessageHelper();
                            response.Message = mHelper.GetInvalidFunderApprovalMessage();
                            response.Success = false;
                            return(response);
                        }
                    }
                }

                var project = unitWork.ProjectRepository.GetOne(p => p.Id == projectId);
                if (user == null)
                {
                    mHelper          = new MessageHelper();
                    response.Message = mHelper.GetNotFound("Project");
                    response.Success = false;
                    return(response);
                }

                var userOrganization = unitWork.OrganizationRepository.GetOne(o => o.Id == user.OrganizationId);
                if (userOrganization == null)
                {
                    mHelper          = new MessageHelper();
                    response.Message = mHelper.GetNotFound("User Organization");
                    response.Success = false;
                    return(response);
                }

                IQueryable <EFProjectMembershipRequests> requests = null;
                if (userType == UserTypes.Manager || userType == UserTypes.SuperAdmin)
                {
                    requests = unitWork.ProjectMembershipRepository.GetManyQueryable(r => r.ProjectId == projectId && r.MembershipType == membershipType);
                }
                else
                {
                    requests = unitWork.ProjectMembershipRepository.GetManyQueryable(r => r.ProjectId == projectId && r.OrganizationId == user.OrganizationId && r.MembershipType == membershipType);
                    if (requests.Count() == 0)
                    {
                        mHelper          = new MessageHelper();
                        response.Message = mHelper.GetNotFound("Membership Request");
                        response.Success = false;
                        return(response);
                    }
                }

                var strategy = context.Database.CreateExecutionStrategy();
                await strategy.ExecuteAsync(async() =>
                {
                    using (var transaction = context.Database.BeginTransaction())
                    {
                        var approvalRequest = (from r in requests
                                               select r).FirstOrDefault();

                        foreach (var request in requests)
                        {
                            request.IsApproved = true;
                            unitWork.ProjectMembershipRepository.Update(request);
                        }
                        await unitWork.SaveAsync();

                        if (approvalRequest.MembershipType == MembershipTypes.Funder)
                        {
                            var projectFunder = unitWork.ProjectFundersRepository.GetOne(f => f.ProjectId == projectId && f.FunderId == user.OrganizationId);
                            if (projectFunder == null)
                            {
                                unitWork.ProjectFundersRepository.Insert(new EFProjectFunders()
                                {
                                    ProjectId = projectId,
                                    FunderId  = user.OrganizationId
                                });
                                await unitWork.SaveAsync();
                            }
                        }
                        else if (approvalRequest.MembershipType == MembershipTypes.Implementer)
                        {
                            var projectImplementer = unitWork.ProjectImplementersRepository.GetOne(i => i.ProjectId == projectId && i.ImplementerId == user.OrganizationId);
                            if (projectImplementer == null)
                            {
                                unitWork.ProjectImplementersRepository.Insert(new EFProjectImplementers()
                                {
                                    ProjectId     = projectId,
                                    ImplementerId = user.OrganizationId
                                });
                                await unitWork.SaveAsync();
                            }
                        }
                        transaction.Commit();
                    }
                });

                //Send status email
                string requestedProject            = project.Title;
                List <EmailAddress> usersEmailList = new List <EmailAddress>();
                usersEmailList.Add(new EmailAddress()
                {
                    Email = user.Email,
                });

                if (usersEmailList.Count > 0)
                {
                    //Send emails
                    ISMTPSettingsService smtpService = new SMTPSettingsService(context);
                    var smtpSettings = smtpService.GetPrivate();
                    SMTPSettingsModel smtpSettingsModel = new SMTPSettingsModel();
                    if (smtpSettings != null)
                    {
                        smtpSettingsModel.Host       = smtpSettings.Host;
                        smtpSettingsModel.Port       = smtpSettings.Port;
                        smtpSettingsModel.Username   = smtpSettings.Username;
                        smtpSettingsModel.Password   = smtpSettings.Password;
                        smtpSettingsModel.AdminEmail = smtpSettings.AdminEmail;
                        smtpSettingsModel.SenderName = smtpSettings.SenderName;
                    }

                    string message = "", subject = "", footerMessage = "";
                    var    emailMessage = unitWork.EmailMessagesRepository.GetOne(m => m.MessageType == EmailMessageType.ProjectPermissionGranted);
                    if (emailMessage != null)
                    {
                        subject       = emailMessage.Subject;
                        message       = emailMessage.Message;
                        footerMessage = emailMessage.FooterMessage;
                    }

                    mHelper  = new MessageHelper();
                    message += mHelper.ProjectPermissionGranted(requestedProject);
                    IEmailHelper emailHelper = new EmailHelper(smtpSettingsModel.AdminEmail, smtpSettings.SenderName, smtpSettingsModel);
                    emailHelper.SendEmailToUsers(usersEmailList, subject, "", message, footerMessage);
                }
                return(response);
            }
        }