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)); }
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)); }