Example #1
0
 public ReleaseOrderDetailBM(ReleaseOrderDetailDTO releaseOrderDtail, StockBM stockBm)
 {
     this.id             = releaseOrderDtail.id;
     this.releaseorderId = releaseOrderDtail.releaseOrderId;
     this.stock          = stockBm;
     this.quantity       = releaseOrderDtail.quantity;
 }
        public ResultBM SaveReleaseOrderDetail(ReleaseOrderBM releaseOrderBm)
        {
            try
            {
                ReleaseOrderDetailDAL        detailDal  = new ReleaseOrderDetailDAL();
                ReleaseOrderDetailDTO        detailDto  = null;
                List <ReleaseOrderDetailDTO> listDetail = new List <ReleaseOrderDetailDTO>();
                ResultBM validResult = IsValid(releaseOrderBm.detail);

                if (!validResult.IsValid())
                {
                    return(validResult);
                }

                foreach (ReleaseOrderDetailBM detail in releaseOrderBm.detail)
                {
                    detailDto = new ReleaseOrderDetailDTO();
                    detailDto.releaseOrderId = releaseOrderBm.id;
                    detailDto.quantity       = detail.Quantity;
                    detailDto.stockId        = detail.stock.id;
                    listDetail.Add(detailDto);
                }
                detailDal.SaveReleaseOrderDetail(listDetail);

                return(new ResultBM(ResultBM.Type.OK, "Detalle guardado para la orden " + releaseOrderBm.id + ".", releaseOrderBm.detail));
            }
            catch (Exception exception)
            {
                return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("SAVING_ERROR") + " " + exception.Message, exception));
            }
        }
        private ReleaseOrderDetailDTO Resolve(List <String> item)
        {
            ReleaseOrderDetailDTO result = new ReleaseOrderDetailDTO();

            result.id             = int.Parse(item[0]);
            result.releaseOrderId = int.Parse(item[1]);
            result.stockId        = int.Parse(item[2]);
            result.quantity       = int.Parse(item[3]);
            return(result);
        }
        //No está bueno esto, pero me permite recuperar las direcciones. Poco performante... pero no hay tiempo.
        private StockBM GetStock(ReleaseOrderDetailDTO detail)
        {
            ResultBM stockResult = new StockBLL().GetStock(detail.stockId);

            return(stockResult.GetValue <StockBM>());
        }