public int Post([FromBody] InputClassifiedModel classifiedModel) { //if (!_classifiedService.UserCanAddNormalClassified(CurrentUserId)) //throw new HttpResponseException(ErrorMessage("لا يمكن للمستخدم إضافة إعلان جديد حالياً")); classifiedModel.UserId = CurrentUserId; int newClassifiedId = _classifiedService.CreateNormalClassified(classifiedModel); return(newClassifiedId); }
public int CreateNormalClassified(InputClassifiedModel classifiedModel) { using (var scope = new TransactionScope()) { var classified = new Classified() { UserId = classifiedModel.UserId, SubCategoryId = classifiedModel.SubCategoryId, Title = classifiedModel.Title, Description = classifiedModel.Description, Country = classifiedModel.Country, City = classifiedModel.City, AdType = classifiedModel.AdType, AddingDate = BusinessSettings.ServerNow, IsFeatured = false, ViewCount = 0, Status = AdStatusList.Pending }; if (classified.AdType == AdTypeList.Fixed) { classified.AdPrice = classifiedModel.AdPrice; } else { classified.AdPrice = null; } _unitOfWork.ClassifiedRepository.Add(classified); _unitOfWork.Save(); if (classifiedModel.PropertyValues.Any()) { foreach (var p in classifiedModel.PropertyValues) { var property = new PropertyValue() { ClassifiedId = classified.Id, PropertyDefinitionId = p.PropertyDefinitionId, Value = p.Value }; _unitOfWork.PropertyValueRepository.Add(property); _unitOfWork.Save(); } } scope.Complete(); return(classified.Id); } }