public async Task <IActionResult> PutByNumber(int key, [FromBody] RequisitionMaster uRequisitionMaster)
        {
            var Message = "Requisition master not been found.";

            if (uRequisitionMaster != null)
            {
                uRequisitionMaster = this.helpers.AddHourMethod(uRequisitionMaster);
                // set modified
                uRequisitionMaster.ModifyDate = DateTime.Now;
                uRequisitionMaster.Modifyer   = uRequisitionMaster.Modifyer ?? "Someone";
                // null for FK
                uRequisitionMaster.ColorItem          = null;
                uRequisitionMaster.PaintTaskDetail    = null;
                uRequisitionMaster.ColorMovementStock = null;

                var updateRequisition = await this.repository.UpdateAsync(uRequisitionMaster, key);

                if (updateRequisition != null && updateRequisition.ColorMovementStockId.HasValue)
                {
                    var updateMovementStock = await this.repositoryMovement.GetAllAsQueryable()
                                              .FirstOrDefaultAsync(x => x.ColortMovementStockId == updateRequisition.ColorMovementStockId);

                    updateMovementStock.Quantity          = updateRequisition.Quantity ?? updateMovementStock.Quantity;
                    updateMovementStock.MovementStockDate = updateRequisition.RequisitionDate ?? updateMovementStock.MovementStockDate;
                    updateMovementStock.ModifyDate        = updateRequisition.ModifyDate;
                    updateMovementStock.Modifyer          = updateRequisition.Modifyer;

                    await this.repositoryMovement.UpdateAsync(updateMovementStock, updateMovementStock.ColortMovementStockId);
                }

                return(new JsonResult(updateRequisition, this.DefaultJsonSettings));
            }
            return(NotFound(new { Error = Message }));
        }
        public async Task <IActionResult> Post([FromBody] RequisitionMaster nRequisitionMaster)
        {
            if (nRequisitionMaster != null)
            {
                nRequisitionMaster = this.helpers.AddHourMethod(nRequisitionMaster);

                nRequisitionMaster.CreateDate = DateTime.Now;
                nRequisitionMaster.Creator    = nRequisitionMaster.Creator ?? "Someone";
                // null for FK
                nRequisitionMaster.ColorItem = null;

                if (nRequisitionMaster.ColorMovementStock == null)
                {
                    var StockStatus = await this.repositoryMoveStatus.GetAllAsQueryable()
                                      .FirstOrDefaultAsync(x => x.StatusMovement == StatusMovement.Requsition);

                    if (StockStatus != null)
                    {
                        nRequisitionMaster.ColorMovementStock = new ColorMovementStock()
                        {
                            MovementStockDate     = nRequisitionMaster.RequisitionDate.Value,
                            Quantity              = nRequisitionMaster.Quantity.Value,
                            ColorItemId           = nRequisitionMaster.ColorItemId,
                            CreateDate            = nRequisitionMaster.CreateDate,
                            Creator               = nRequisitionMaster.Creator,
                            MovementStockStatusId = StockStatus.MovementStockStatusId,
                        };
                    }
                }

                return(new JsonResult(await this.repository.AddAsync(nRequisitionMaster), this.DefaultJsonSettings));
            }
            return(NotFound(new { Error = "Not found requisition master data !!!" }));
        }