Exemple #1
0
        /// <summary>
        /// Add Equipment/Material To BOM.
        /// </summary>
        /// <param name="addItem"></param>
        /// <returns></returns>
        public IResult AddItemToBom(AddItemToBom addItem)
        {
            var result = new Result
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                AddToBom item = null;
                if (addItem != null)
                {
                    item = new AddToBom();
                    item.MapFromViewModel(addItem);
                    var bom = _bomRepository.GetOne(t => t.BomId == ObjectId.Parse(addItem.BomId));
                    if (bom != null)
                    {
                        var updateDefinition = Builders <BillOfMaterial> .Update.Set(t => t.ModifiedDate, GenericHelper.CurrentDate).AddToSet(t => t.AddedItems, item);

                        _bomRepository.UpdateOne(t => t.BomId.Equals(ObjectId.Parse(addItem.BomId)), updateDefinition);
                        result.Message = BomNotification.ItemAdded;
                    }
                    else
                    {
                        result.Message = BomNotification.BOMNotFound;
                    }
                }
                else
                {
                    result.Message = BomNotification.NoItemProvided;
                }
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                result.Status  = Status.Fail;
            }
            return(result);
        }
        public IResult AddItemToBom([FromBody] AddItemToBom addItemToBom)
        {
            var bom = _billOfMaterialsManager.AddItemToBom(addItemToBom);

            return(bom);
        }