Пример #1
0
        public IActionResult CompanyBoardMemberEx(CompanyBoardMemberViewModel model)
        {
            if (!string.IsNullOrEmpty(model.JalaliFromDate) && !string.IsNullOrEmpty(model.JalaliToDate))
            {
                DateTime?fromDate = model.JalaliFromDate.ToDateTime();
                DateTime?toDate   = model.JalaliToDate.ToDateTime();

                ViewBag.JalaliFromDate = model.JalaliFromDate;
                ViewBag.JalaliToDate   = model.JalaliToDate;
                ViewBag.FromDate       = model.JalaliFromDate.ToDateTime();
                ViewBag.ToDate         = model.JalaliToDate.ToDateTime();

                var itemsBoardMember = _companyBoardMemberRepository.GetAsQueryable(x => HasAccess(x.CompanyId), includeProperties: "BoardofDirectorsLegalMember,Company,Agent").Join(_boardofDirectorsRepository.GetAsQueryable(), a => a.BoardofDirectorsLegalMemberId, b => b.Id, (a, b) => new { boardMembers = a, boardofDirectors = b }).Where(x => x.boardMembers.IsActive == false).ToList();

                var itemsAgent = _companyBoardMemberRepository.GetAsQueryable(x => HasAccess(x.CompanyId)).Join(_agentRepository.GetAsQueryable(), a => a.AgentId, b => b.Id, (a, b) => new { boardMembers = a, agent = b }).Where(x => x.boardMembers.IsActive == false).ToList();

                var items = _companyBoardMemberRepository.GetAsQueryable(x => HasAccess(x.CompanyId) && x.IsDeleted == false && x.FormStatus == KavoshFrameWorkCore.FormStatus.Verified && (x.AppointmentDate >= fromDate && x.AppointmentDate <= toDate)).Join(itemsBoardMember, a => new { a.CompanyId, a.OrganizationalPositionId }, b => new { b.boardMembers.CompanyId, b.boardMembers.OrganizationalPositionId }, (a, b) => new { boardMembers = a, boardMembersDirect = b }).Join(itemsAgent, a => new { a.boardMembers.CompanyId, a.boardMembers.OrganizationalPositionId }, b => new { b.boardMembers.CompanyId, b.boardMembers.OrganizationalPositionId }, (a, b) => new { boardMembers2 = a, boardMembersAgent = b });

                IEnumerable <CompanyBoardMemberExViewModel> result = items.Select(woak => new CompanyBoardMemberExViewModel
                {
                    CompanyTitle  = woak.boardMembers2.boardMembers.Company.Title,
                    AgentTitleOld = woak.boardMembersAgent.agent.Title,
                    BoardofDirectorsLegalMemberTitleOld = woak.boardMembers2.boardMembersDirect.boardofDirectors.Title,
                    AgentTitle = woak.boardMembers2.boardMembers.Agent.Title,
                    BoardofDirectorsLegalMemberTitle = woak.boardMembers2.boardMembers.BoardofDirectorsLegalMember.Title,
                    AppointmentDate = woak.boardMembers2.boardMembers.AppointmentDate
                });
                return(View(result));
            }
            return(RedirectToAction("CompanyBoardMemberEx"));
        }
        public async Task <IActionResult> Create(CompanyBoardMemberViewModel model)
        {
            model.SystemUserId = UserId;

            if (!HasAccess(model.CompanyId))
            {
                return(View("Error"));
            }

            //if (ModelState.IsValid)
            {
                model.AppointmentDate         = model.JalaliAppointmentDate.ToDateTime();
                model.CompletionDate          = model.JalaliCompletionDate.ToDateTime();
                model.NewspaperEntryDate      = model.JalaliNewspaperEntryDate.ToDateTime();
                model.CompletionDate          = model.JalaliCompletionDate.ToDateTime();
                model.LastElectionMeetingDate = model.JalaliLastElectionMeetingDate.ToDateTime();

                if (model.AppointmentDate > DateTime.Now)
                {
                    ModelState.AddModelError("", Resources.Messages.InvalidDate);
                    return(View(model));
                }

                if (model.IsActive)
                {
                    var numberOfCompanyBoardMembers = company.GetAsQueryable(x => x.Id == model.CompanyId).Select(c => c.NumberOfCompanyBoardMembers).FirstOrDefault();

                    if (numberOfCompanyBoardMembers.HasValue)
                    {
                        var currentBoardMembersCount = _companyBoardMemberRepository.GetAsQueryable(x => x.CompanyId == model.CompanyId && x.IsActive).Count();
                        if (currentBoardMembersCount >= numberOfCompanyBoardMembers.Value)
                        {
                            ModelState.AddModelError("", string.Format(Resources.Messages.MaxNumberOfBoardMembersReached, numberOfCompanyBoardMembers.Value));
                            return(View(model));
                        }
                    }
                }

                var item = _mapper.Map <CompanyBoardMemberViewModel, CompanyBoardMember>(model);
                await _companyBoardMemberRepository.InsertAsync(item);

                ErrorMessage = Resources.Messages.ChangesSavedSuccessfully;
                if (Request.Form.Keys.Contains("SaveAndReturn"))
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("Edit", new { id = item.Id }));
                }
            }
            return(View(model));
        }
Пример #3
0
        public IActionResult CompanyBoardMember(CompanyBoardMemberViewModel model)
        {
            if (!string.IsNullOrEmpty(model.JalaliFromDate) && !string.IsNullOrEmpty(model.JalaliToDate))
            {
                DateTime?fromDate = model.JalaliFromDate.ToDateTime();
                DateTime?toDate   = model.JalaliToDate.ToDateTime();

                ViewBag.JalaliFromDate = model.JalaliFromDate;
                ViewBag.JalaliToDate   = model.JalaliToDate;
                ViewBag.FromDate       = model.JalaliFromDate.ToDateTime();
                ViewBag.ToDate         = model.JalaliToDate.ToDateTime();

                var items = _companyBoardMemberRepository.GetAsQueryable(x => HasAccess(x.CompanyId) && (x.AppointmentDate >= fromDate && x.AppointmentDate <= toDate), includeProperties: "BoardofDirectorsLegalMember,AgentCompany,LegalMemberType,OrganizationalPosition,Company,Agent").ToList();
                var res   = _mapper.Map <IEnumerable <CompanyBoardMember>, IEnumerable <CompanyBoardMemberViewModel> >(items);
                return(View(res));
            }
            return(RedirectToAction("CompanyBoardMember"));
        }
        public async Task <IActionResult> Edit(CompanyBoardMemberViewModel model)
        {
            model.SystemUserId = UserId;

            if (!HasAccess(model.CompanyId))
            {
                return(View("Error"));
            }


            //if (ModelState.IsValid)
            {
                model.AppointmentDate         = model.JalaliAppointmentDate.ToDateTime();
                model.CompletionDate          = model.JalaliCompletionDate.ToDateTime();
                model.NewspaperEntryDate      = model.JalaliNewspaperEntryDate.ToDateTime();
                model.CompletionDate          = model.JalaliCompletionDate.ToDateTime();
                model.LastElectionMeetingDate = model.JalaliLastElectionMeetingDate.ToDateTime();

                if (model.AppointmentDate > DateTime.Now)
                {
                    ModelState.AddModelError("", Resources.Messages.InvalidDate);
                    return(View(model));
                }


                var item   = _mapper.Map <CompanyBoardMemberViewModel, CompanyBoardMember>(model);
                var result = await _companyBoardMemberRepository.UpdateAsync(item);

                ErrorMessage = Resources.Messages.ChangesSavedSuccessfully;

                if (Request.Form.Keys.Contains("SaveAndReturn"))
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("Edit", new { id = item.Id }));
                }
            }
            return(View(model));
        }