private MKit_KitSpecificationUpdate CreateKitUpdateSpecification(KitEditModel model) { var kitSpecification = new MKit_KitSpecificationUpdate() { Size = model.Specification.Size, CustomWidth = model.Specification.CustomSizeWidth, CustomHeight = model.Specification.CustomSizeHeight, BorderWidth = model.Specification.BorderWidth, CustomBorderWidth = model.Specification.CustomBorderWidth, BorderFabricStyle = new MCommon_FabricStyle() { Sku = model.Specification.BorderFabricStyle.Sku }, BindingWidth = model.Specification.BindingWidth, CustomBindingWidth = model.Specification.CustomBindingWidth, BindingFabricStyle = new MCommon_FabricStyle() { Sku = model.Specification.BindingFabricStyle.Sku }, HasBacking = model.Specification.HasBacking, BackingFabricStyle = new MCommon_FabricStyle() { Sku = model.Specification.BackingFabricStyle.Sku }, TrimTriangles = model.Specification.TrimTriangles }; return(kitSpecification); }
public async Task <ActionResult> EditSubmit(KitEditModel model) { //Kit_UpdateSpecificationResponseData response = null; //string errorMessage = null; var actionData = this.GetActionData(); switch (actionData?.ActionName) { case Actions.Save: { var kitSpecification = CreateKitUpdateSpecification(model); var response = await KitMicroService.UpdateKitSpecificationAsync(GetUserId(), model.Detail.ProjectId.Value, kitSpecification); if (response.ServiceError == null) { return(RedirectToAction("Index", new { id = "" })); } var kit = model.Detail.ProjectId.HasValue ? await KitMicroService.GetKitDetailPreviewAsync(GetUserId(), model.Detail.ProjectId.Value, Constants.ThumbnailSize, kitSpecification) : await KitMicroService.GetKitDetailPreviewFromDesignAsync(GetUserId(), model.Detail.DesignId.Value, Constants.ThumbnailSize, kitSpecification); var newModel = ModelFactory.CreateKitEditModel(kit); newModel.Specification.CustomBindingWidth = model.Specification.CustomBindingWidth; newModel.Specification.CustomBorderWidth = model.Specification.CustomBorderWidth; newModel.Specification.CustomSizeHeight = model.Specification.CustomSizeHeight; newModel.Specification.CustomSizeWidth = model.Specification.CustomSizeWidth; if (kit.ServiceError != null) { newModel.JsonError = JsonConvert.SerializeObject(ErrorVcModelFactory.CreateErrorVcModel(kit.ServiceError)); } model = newModel; } break; case Actions.SaveAsync: { var kitSpecification = CreateKitUpdateSpecification(model); if (model.Detail.ProjectId == null) { var createResponse = await ProjectUserService.CreateProjectAsync(GetUserId(), ProjectUserService.ProjectType_Kit, "Kit", model.Detail.DesignId.Value); model.Detail.ProjectId = Guid.Parse(createResponse); } var response = await KitMicroService.UpdateKitSpecificationAsync(GetUserId(), model.Detail.ProjectId.Value, kitSpecification); return(response.ServiceError == null ? new EmptyResult() : (ActionResult)Json(ErrorVcModelFactory.CreateErrorVcModel(response.ServiceError))); } case Actions.Refresh: { var kitSpecification = CreateKitUpdateSpecification(model); var kit = model.Detail.ProjectId.HasValue ? await KitMicroService.GetKitDetailPreviewAsync(GetUserId(), model.Detail.ProjectId.Value, Constants.ThumbnailSize, kitSpecification) : await KitMicroService.GetKitDetailPreviewFromDesignAsync(GetUserId(), model.Detail.DesignId.Value, Constants.ThumbnailSize, kitSpecification); model = ModelFactory.CreateKitEditModel(kit); if (kit.ServiceError != null) { model.JsonError = JsonConvert.SerializeObject(ErrorVcModelFactory.CreateErrorVcModel(kit.ServiceError)); } } break; } ModelState.Clear(); return(View("Edit", model)); }