public ActionResult GetJobPreffer(JobPrefer jobPrefer) { try { var current = JobPreferService.Get(x => x.PartyId == jobPrefer.PartyId).FirstOrDefault(); var entity = ObjectMapper.BaseConverter .ConvertSourceToDest <IranMarketer.Domain.Entity.JobPrefer, JobPrefer>(current); var session = CoreContainer.Container.Resolve <ISession>(); var prefferCategoru = session.Find <JobPreferJobCategory>(x => x .Where($"{nameof(JobPreferJobCategory.JobPreferId):C}=@Id") .WithParameters(new { Id = current?.Id ?? 0 })); var PrefferIndustry = session.Find <JobPreferIndustry>(x => x .Where($"{nameof(JobPreferIndustry.JobPreferId):C}=@Id") .WithParameters(new { Id = current?.Id ?? 0 })); foreach (var jobCategory in prefferCategoru) { entity.JobCategories.Add(JobCategoryProvider.GetKey(jobCategory.jobCategoryId)); } foreach (var industry in PrefferIndustry) { entity.Industries.Add(IndustryProvider.GetKey(industry.IndustryId)); } SuccessApiResponse.Result = entity; return(Json(SuccessApiResponse, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(ErrorApiResponse, JsonRequestBehavior.AllowGet)); } }
public ActionResult SaveJobPreffer(JobPrefer jobPrefer) { try { var current = JobPreferService.Get(x => x.PartyId == jobPrefer.PartyId).FirstOrDefault(); var entity = ObjectMapper.BaseConverter .ConvertSourceToDest <JobPrefer, IranMarketer.Domain.Entity.JobPrefer>(jobPrefer); entity.Modified = DateTime.Now; entity.Created = current?.Created ?? DateTime.Now; entity.CreatedBy = current?.CreatedBy ?? jobPrefer.UserName; entity.ModifiedBy = jobPrefer.UserName; entity.Id = current?.Id ?? 0; var dbFactory = CoreContainer.Container.Resolve <IDbFactory>(); using (var uow = dbFactory.Create <IUnitOfWork, ISession>(IsolationLevel.Serializable)) { try { var id = JobPreferService.SaveOrUpdate(entity, uow); uow.BulkDelete <JobPreferJobCategory>(statement => statement .Where($"{nameof(JobPreferJobCategory.JobPreferId):C}=@Id").WithParameters(new { Id = id }).AttachToTransaction(uow.Transaction)); uow.BulkDelete <JobPreferIndustry>(statement => statement .Where($"{nameof(JobPreferIndustry.JobPreferId):C}=@Id").WithParameters(new { Id = id }).AttachToTransaction(uow.Transaction)); foreach (var category in jobPrefer.JobCategories) { uow.Insert(new JobPreferJobCategory { JobPreferId = id, jobCategoryId = category.Id }); } foreach (var indusry in jobPrefer.Industries) { uow.Insert(new JobPreferIndustry { JobPreferId = id, IndustryId = indusry.Id }); } } catch (Exception ex) { uow.Rollback(); throw; } } JobPreferService.SaveOrUpdate(entity); return(Json(SuccessApiResponse, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(ErrorApiResponse, JsonRequestBehavior.AllowGet)); } }