public ActionResult Add(PigeonAddViewModel viewModel) { int year; if (!int.TryParse(viewModel.Year, out year)) { AddModelError(viewModel, m => m.Year, StyleContext.GetTranslation(Dom.Translation.Pigeon.IncorrectYear)); } else { if (year < DateTime.Now.AddYears(-25).Year || year > DateTime.Now.Year) { AddModelError(viewModel, m => m.Year, StyleContext.GetTranslation(Dom.Translation.Pigeon.IncorrectYear)); } } if (ModelState.IsValid) { Pigeon pigeon = Pigeon.Empty(); pigeon.MemberId = viewModel.OwnerId.Value; pigeon.SexId = viewModel.SexId; pigeon.Year = year; pigeon.Code = viewModel.Code; pigeon.Number = viewModel.Number; var member = _memberRepository.Get <Member>(pigeon.MemberId); var organizationId = member.EntityInfo.EntityOrganizations.First().OrganizationId; EntityContext.AddEntityProgress( pigeon.EntityInfo, new EntityProgress { OrganizationId = organizationId, EntityStateAfterId = Dom.EntityType.Pigeon.State.Created } ); EntityContext.AddEntityOrganization( pigeon.EntityInfo, organizationId, Dom.EntityType.Pigeon.State.Created ); _pigeonRepository.AddOrUpdate(pigeon); _pigeonRepository.UnitOfWork.SaveChanges(); return(RedirectToAction(Mvc.Controller.Pigeon.List, Mvc.Controller.Pigeon.Name)); } ICollection <SelectListItemCount> owners = _memberRepository.GetMembers( UserContext.User.Id, UserContext.User.OrganizationId ); viewModel.SexItems = InitSexSelectListItems(); viewModel.OwnerItems = Mapper.Map <ICollection <SelectListItem> >(owners); return(View(Mvc.View.Pigeon.Add, viewModel)); }