public IActionResult Create()
        {
            ViewData["MediaSettings"] = true;
            var item = new EnactmentViewModel();

            item.EnactmentDetails = new List <EnactmentDetail>()
            {
                new EnactmentDetail {
                    EnactmentTitle = " "
                }
            };
            return(View(item));
        }
        public async Task <IActionResult> Edit(EnactmentViewModel model)
        {
            model.SystemUserId = UserId;

            if (ModelState.IsValid)
            {
                model.Date = model.JalaliDate.ToDateTime().Value;
                if (model.Date > DateTime.Now)
                {
                    ModelState.AddModelError("", Resources.Messages.InvalidDate);
                    return(View(model));
                }

                var item = _mapper.Map <EnactmentViewModel, Enactment>(model);
                if (model.EnactmentTitle != " " && model.EnactmentTitle != null && !string.IsNullOrEmpty(model.EnactmentTitle))
                {
                    if (item.EnactmentDetails != null)
                    {
                        item.EnactmentDetails.Add(new EnactmentDetail {
                            EnactmentTitle = model.EnactmentTitle
                        });
                    }
                    else
                    {
                        item.EnactmentDetails = new List <EnactmentDetail>()
                        {
                            new EnactmentDetail {
                                EnactmentTitle = model.EnactmentTitle
                            }
                        };
                    }
                }
                var result = await _EnactmentRepository.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));
        }
        public async Task <IActionResult> Create(EnactmentViewModel model)
        {
            model.SystemUserId = UserId;

            if (ModelState.IsValid)
            {
                model.Date = model.JalaliDate.ToDateTime().Value;
                if (model.Date > DateTime.Now)
                {
                    ModelState.AddModelError("", Resources.Messages.InvalidDate);
                    return(View(model));
                }
                var item = _mapper.Map <EnactmentViewModel, Enactment>(model);

                //int cnt = item.EnactmentDetails.Count;
                //for (int i = 0; i <= cnt - 1; i++)
                //{
                //    if (item.EnactmentDetails[i].EnactmentTitle == null)
                //        item.EnactmentDetails.Remove(item.EnactmentDetails[i]);
                //    else if (item.EnactmentDetails[i].EnactmentTitle.Equals(" ") || string.IsNullOrEmpty(item.EnactmentDetails[i].EnactmentTitle))
                //        item.EnactmentDetails.Remove(item.EnactmentDetails[i]);
                //}

                await _EnactmentRepository.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));
        }