Exemplo n.º 1
0
        public ActionResult AddOrUpdateProductItem(ProductAndOptionViewModel model)
        {
            var data = new MobileResponseModel();

            try
            {
                if (model.ItemId != null)
                {
                    GenericFactory.Business.MarkDeleteProductItemByItemId(model.ItemId);
                }
                var document = GenericFactory.Business.GetDocument(model.Id);
                document.DocumentProductItems.Add(model.ToViewModel());
                this.UpdateDocument(document, document.FileNumber);

                data.Datas = new
                {
                    Id = document.Id.ToString()
                };
            }
            catch (Exception ex)
            {
                data.Status       = false;
                data.ErrorCode    = "001";
                data.ErrorMessage = ex.Message;
                data.MessageId    = "";
                data.TimeStamp    = "";
            }
            return(new JsonCamelCaseResult(data, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public static DocumentProductItem ToViewModel(this ProductAndOptionViewModel model)
        {
            var itemId = Guid.NewGuid();
            var item   = new DocumentProductItem
            {
                Id              = itemId,
                ProductId       = new System.Guid(model.ProductId),
                ProductUnitId   = new System.Guid(model.ProductUnitId),
                ProductOptionId = new System.Guid(model.ProductOptionId),
                Amount          = model.Amount,
                PricePerUnit    = (decimal)model.PricePerUnit,
                MaterialId      = new System.Guid(model.MaterialId)
            };
            var printOption1 = new ProductItemPrintOptional();
            var printOption2 = new ProductItemScreenOptional();
            var printOption3 = new ProductItemSewOptional();
            var printStatus  = (ItemOptionStatus)model.PrintOption.SelectedOption;

            switch (printStatus)
            {
            case ItemOptionStatus.ExistingPattern:
            {
                printOption1.Id = Guid.NewGuid();
                printOption1.OptionalStatusId = 1;
                printOption1.ProductItemId    = itemId;
                printOption1.PatternId        = new Guid(model.PrintOption.PatternId.ToString());
                break;
            }

            case ItemOptionStatus.NewPattern:
            {
                printOption1.Id = Guid.NewGuid();
                printOption1.OptionalStatusId = 2;
                printOption1.ColorCodeId      = new Guid(model.PrintOption.ColorId);
                printOption1.ProductItemId    = itemId;

                break;
            }

            case 0:
            {
                break;
            }
            }
            var screenStatus = (ItemOptionStatus)model.ScreenOption.SelectedOption;

            switch (screenStatus)
            {
            case ItemOptionStatus.ExistingPattern:
            {
                printOption2.Id = Guid.NewGuid();
                printOption2.OptionalStatusId = 1;
                printOption2.ProductItemId    = itemId;
                printOption2.PatternId        = new Guid(model.ScreenOption.PatternId.ToString());
                break;
            }

            case ItemOptionStatus.NewPattern:
            {
                printOption2.Id = Guid.NewGuid();
                printOption2.OptionalStatusId  = 2;
                printOption2.ColorCodeId       = new Guid(model.ScreenOption.ColorId);
                printOption2.PatternPositionId = new Guid(model.ScreenOption.ColorId);
                printOption2.ProductItemId     = itemId;

                break;
            }

            case 0:
            {
                break;
            }
            }
            var sewStatus = (ItemOptionStatus)model.SewOption.SelectedOption;

            switch (sewStatus)
            {
            case ItemOptionStatus.ExistingPattern:
            {
                printOption3.Id = Guid.NewGuid();
                printOption3.OptionalStatusId = 1;
                printOption3.ProductItemId    = itemId;
                printOption3.PatternId        = new Guid(model.SewOption.PatternId.ToString());
                break;
            }

            case ItemOptionStatus.NewPattern:
            {
                printOption3.Id = Guid.NewGuid();
                printOption3.OptionalStatusId  = 2;
                printOption3.PatternPositionId = new Guid(model.SewOption.PositionId);
                printOption3.ProductItemId     = itemId;
                printOption3.Remark            = model.SewOption.Remark;
                break;
            }

            case 0:
            {
                break;
            }
            }
            if (model.PrintOption.SelectedOption > 0)
            {
                item.ProductItemPrintOptionals.Add(printOption1);
            }
            if (model.ScreenOption.SelectedOption > 0)
            {
                item.ProductItemScreenOptionals.Add(printOption2);
            }
            if (model.SewOption.SelectedOption > 0)
            {
                item.ProductItemSewOptionals.Add(printOption3);
            }
            return(item);
        }