public async Task<IHttpActionResult> PostService() { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } SubServiceBindingModel modal = new SubServiceBindingModel(); var root = HttpContext.Current.Server.MapPath(Utility.Constants.BASE_FILE_UPLOAD_PATH); Directory.CreateDirectory(root); var provider = new MultipartFormDataStreamProvider(root); var resultModel = await Request.Content.ReadAsMultipartAsync(provider); if (resultModel.FormData["model"] == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { modal = JsonConvert.DeserializeObject<SubServiceBindingModel>(resultModel.FormData["model"]); modal.CreatedDate = DateTime.Now; modal.ServiceCategoryId = modal.ServiceCategoryId > 0 ? modal.ServiceCategoryId : null; //modal.Description = resultModel.FormData["Description"]; } if (resultModel.FileData.Count > 0) { string fileName; if (HttpContext.Current.Request.Files != null) { for (var i = 0; i < resultModel.FileData.Count; i++) { var file = HttpContext.Current.Request.Files[i]; fileName = file.FileName; if (i == 0) { file.SaveAs(Path.Combine(root, Utility.Constants.SERVICES_LOGO, fileName)); modal.ServicePicturePath = fileName; } } } } SubServiceModel serviceModel = new SubServiceModel(); AutoMapper.Mapper.Map(modal, serviceModel); bool isParentActualService = true; var parentServiceOfServiceToInsert = subServicesService.GetSubServiceById(modal.ParentServiceId); var parentServiceOfServiceToInsertChildren = subServicesService.GetAllSubServicesByServiceId(parentServiceOfServiceToInsert.ServiceId).ToList(); isParentActualService = parentServiceOfServiceToInsertChildren.Count() > 0 ? false : true; if (isParentActualService) { serviceModel.ServiceCategoryId = null; } serviceModel = subServicesService.SaveSubService(serviceModel); return Ok(serviceModel); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } }
public async Task<IHttpActionResult> PutService(int id) { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } SubServiceBindingModel modal = new SubServiceBindingModel(); var root = HttpContext.Current.Server.MapPath(Utility.Constants.BASE_FILE_UPLOAD_PATH); Directory.CreateDirectory(root); var provider = new MultipartFormDataStreamProvider(root); var resultModel = await Request.Content.ReadAsMultipartAsync(provider); if (resultModel.FormData["model"] == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { modal = JsonConvert.DeserializeObject<SubServiceBindingModel>(resultModel.FormData["model"]); modal.CreatedDate = DateTime.Now; //modal.Description = resultModel.FormData["Description"]; } if (resultModel.FileData.Count > 0) { string fileName; if (HttpContext.Current.Request.Files != null) { for (var i = 0; i < resultModel.FileData.Count; i++) { var file = HttpContext.Current.Request.Files[i]; fileName = file.FileName; if (i == 0) { file.SaveAs(Path.Combine(root, Utility.Constants.SERVICES_LOGO, fileName)); modal.ServicePicturePath = fileName; } } } } SubServiceModel serviceModel = new SubServiceModel(); SubServiceModel checkserviceModel = new SubServiceModel(); if (modal.ServiceCategoryId == 0) { modal.ServiceCategoryId = null; } AutoMapper.Mapper.Map(modal, serviceModel); serviceModel = subServicesService.UpadteSubService(serviceModel); //checkserviceModel = subServicesService.GetSubServiceById(id); //if(checkserviceModel.ParentServiceId == modal.ParentServiceId) //{ //} //else //{ // subServicesService.DeleteSubService(checkserviceModel.ServiceId); // serviceModel = subServicesService.GetSubServiceById(serviceModel.ServiceId); // modal.ServiceId = 0; // AutoMapper.Mapper.Map(modal, serviceModel); // serviceModel = subServicesService.SaveSubService(serviceModel); //} return Ok(serviceModel); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } }