public ActionResult <AccessoryIssue> Create([FromBody] AccessoryIssue accIssue) { var creator = (HttpContext.Items["User"] as User).UserClaims; try { var res = _accIssueService.Create(creator, accIssue); if (res == null) { return(StatusCode(500)); } return(CreatedAtRoute("GetAccessoryIssue", new { id = res.Id.ToString() }, res)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public AccessoryIssue Create(UserClaim creator, AccessoryIssue accessoryIssue) { var rrForm = _rrService.Get(accessoryIssue.RepairedRequestId); if (rrForm == null) { throw new Exception("Không tìm thấy phiếu sửa chữa"); } if (rrForm.Quotation.State != Quotation.QuotationtState.confirmed) { throw new Exception("Phiếu báo giá chưa được xác nhận"); } try { foreach (var detail in rrForm.Quotation.Details) { var r = _accessoryService.Take(detail.AccessoryId, detail.Quantity); if (r < 0) { return(null); } } } catch (Exception e) { throw e; } accessoryIssue.Creator = creator; accessoryIssue.CreatedDate = System.DateTime.Now; try { _accessoryIssue.InsertOne(accessoryIssue); return(accessoryIssue); } catch { return(null); } }