//public Tuple<bool, string, long> AddCouncilRequest(CouncilModel requestModel, long universityId)
        //{
        //    try
        //    {
        //        //واکشی دانشجو اگر وجود دارد وگرنه ایجاد می شود
        //        var student =
        //            _studentRepository.Where(s => s.StudentNumber == requestModel.StudentNumber)
        //                .Include(i => i.Person).Include(i => i.Person.Profile).FirstOrDefault() ??
        //            new Student();
        //        student.StudentNumber = requestModel.StudentNumber;
        //        student.FieldofStudyId = requestModel.FieldofStudyId;
        //        student.Grade = requestModel.Grade;
        //        student.MilitaryServiceStatus = requestModel.MilitaryServiceStatus;

        //        //واکشی پروفایل اگر وجود دارد
        //        Profile profile;
        //        if (student.Person == null)
        //        {
        //            profile =
        //             _profileRepository.Where(p => p.NationalCode == requestModel.NationalCode).FirstOrDefault() ??
        //            new Profile();
        //        }
        //        else
        //        {
        //            profile = student.Person.Profile;
        //        }
        //        profile.Name = requestModel.Name;
        //        profile.Family = requestModel.Family;
        //        profile.NationalCode = requestModel.NationalCode;
        //        profile.Gender = requestModel.Gender;

        //        //واکشی درخواست اگر وجود دارد
        //        var request = _requestRepository.Where(i => i.Id == requestModel.Id).Include(i => i.Council)
        //            .Include(i => i.MemberMaster).FirstOrDefault() ?? new Request();
        //        request.RequestType = requestModel.RequestType;
        //        request.NumberofRemainingUnits = requestModel.NumberofRemainingUnits;
        //        request.NumberofSpentUnits = requestModel.NumberofSpentUnits;
        //        request.RequestStatus = requestModel.RequestStatus;
        //        request.Description = requestModel.Description;
        //        request.MemberMaster = _memberMasterRepository.Where(d => d.RequestType == RequestType.Council)
        //            .OrderByDescending(p => p.Id).FirstOrDefault();

        //        long personId;
        //        if (profile.PersonId == 0)
        //        {
        //            var person = new Person
        //            {
        //                Active = true,
        //                UniversityId = universityId,
        //                Profile = profile,
        //                Student = student
        //            };
        //            _personRepository.Add(person);
        //            personId = person.Id;
        //        }
        //        else
        //        {
        //            personId = profile.PersonId;
        //            student.PersonId = profile.PersonId;
        //            _studentRepository.AddOrUpdate(s => s.PersonId, student);
        //        }

        //        var x = new PersianCalendar();
        //        requestModel.Date =
        //            x.ToDateTime(requestModel.Date.Year, requestModel.Date.Month, requestModel.Date.Day, 0, 0, 0, 0, 0);
        //        //درج درخواست به همراه شورا
        //        if (request.Id > 0)
        //        {
        //            request.Council.CouncilNumber = requestModel.CouncilNumber;
        //            request.Council.Date = requestModel.Date;
        //            request.Council.Description = requestModel.Description;
        //            request.Council.ProblemText = requestModel.ProblemsCouncil;
        //            _requestRepository.Update(request);
        //        }
        //        else
        //        {
        //            request.PersonId = personId;
        //            request.Council = new Council
        //            {
        //                CouncilNumber = requestModel.CouncilNumber,
        //                Date = requestModel.Date,
        //                ProblemText = requestModel.ProblemsCouncil,
        //                Description = requestModel.Description
        //            };
        //            _requestRepository.Add(request);
        //        }
        //        _unitOfWork.SaveChanges();
        //        return new Tuple<bool, string, long>(true, "عملیات ثبت به درستی انجام شد", request.Id);
        //    }
        //    catch (Exception exception)
        //    {
        //        return new Tuple<bool, string, long>(false, "خطا در ثبت درخواست", 0);
        //    }
        //}

        /// <summary>
        /// ذخیره درخواست شورا به همراه پروفایل و دانشجو و شخص
        /// </summary>
        /// <param name="councilModel"></param>
        /// <returns></returns>
        public Tuple <bool, string, long> UpdateCouncilRequest(CouncilModel councilModel)
        {
            try
            {
                //واکشی درخواست اگر وجود دارد
                var request = _requestRepository.Where(i => i.Id == councilModel.Id).Include(i => i.Council)
                              .Include(i => i.MemberMaster).FirstOrDefault() ?? new Request();
                request.NumberofRemainingUnits = councilModel.NumberofRemainingUnits;
                request.NumberofSpentUnits     = councilModel.NumberofSpentUnits;
                request.Description            = councilModel.Description;
                request.MemberMaster           = _memberMasterRepository.Where(d => d.RequestType == RequestType.Council)
                                                 .OrderByDescending(p => p.Id).FirstOrDefault();

                var x = new PersianCalendar();
                councilModel.Date =
                    x.ToDateTime(councilModel.Date.Year, councilModel.Date.Month, councilModel.Date.Day, 0, 0, 0, 0, 0);
                //درج درخواست به همراه شورا
                request.Council.CouncilNumber = councilModel.CouncilNumber;
                request.Council.Date          = councilModel.Date;
                request.Council.Description   = councilModel.Description;
                request.Council.ProblemText   = councilModel.ProblemsCouncil;
                _requestRepository.Update(request);

                _unitOfWork.SaveChanges();
                return(new Tuple <bool, string, long>(true, "عملیات ثبت به درستی انجام شد", request.Id));
            }
            catch (Exception exception)
            {
                return(new Tuple <bool, string, long>(false, "خطا در ثبت درخواست", 0));
            }
        }
        public IActionResult CouncilInfo(CouncilModel Cmodel, List <IFormFile> pic)
        {
            if (pic != null)
            {
                dynamic fileName;
                fileName = Path.Combine(he.WebRootPath + "/council", Path.GetFileName(pic[0].FileName));
                pic[0].CopyTo(new FileStream(fileName, FileMode.Create));
                Cmodel.FirstPic = Path.GetFileName(pic[0].FileName);
                fileName        = Path.Combine(he.WebRootPath + "/council", Path.GetFileName(pic[1].FileName));
                pic[1].CopyTo(new FileStream(fileName, FileMode.Create));
                Cmodel.SecondPic = Path.GetFileName(pic[1].FileName);
                fileName         = Path.Combine(he.WebRootPath + "/council", Path.GetFileName(pic[2].FileName));
                pic[2].CopyTo(new FileStream(fileName, FileMode.Create));
                Cmodel.TheirdPic = Path.GetFileName(pic[2].FileName);
                fileName         = Path.Combine(he.WebRootPath + "/council", Path.GetFileName(pic[3].FileName));
                pic[3].CopyTo(new FileStream(fileName, FileMode.Create));
                Cmodel.FourthPic = Path.GetFileName(pic[3].FileName);
                fileName         = Path.Combine(he.WebRootPath + "/council", Path.GetFileName(pic[4].FileName));
                pic[4].CopyTo(new FileStream(fileName, FileMode.Create));
                Cmodel.FifthPic = Path.GetFileName(pic[4].FileName);

                _db.CouncilModels.Add(Cmodel);
                _db.SaveChanges();
            }
            return(View("GuestHouseInfo"));
        }
        public virtual ActionResult Update(CouncilModel councilModel)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { IsError = true, Message = "ورودی نامعتبر!" }));
            }
            var userId = long.Parse(User.Identity.GetUserId());
            //var data = _personManagementService.IsStudentExist(councilModel.StudentNumber, userId,
            //            councilModel.RequestType).Result;
            //if (!data.Item1)
            //    return Json(new { isError = true, Message = data.Item2 });

            var userAuthenticationType = (AuthenticationType)Enum.Parse(typeof(AuthenticationType), User.AuthenType(), true);
            var levelId = Convert.ToInt64(User.LevelId());
            var result  = _councilService.UpdateCouncilRequest(councilModel);

            return(Json(new { IsError = !result.Item1, Message = result.Item2 }));
        }