public BarringOrder VQuantityIsInStock(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService, IBarringService _barringService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { IList <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); // itemId contains Id of the blanket, leftbar, and rightbar IDictionary <int, int> ValuePairItemIdQuantity = new Dictionary <int, int>(); foreach (var detail in details) { Barring barring = _barringService.GetObjectById(detail.BarringId); // blanket if (ValuePairItemIdQuantity.ContainsKey(barring.BlanketItemId)) { ValuePairItemIdQuantity[barring.BlanketItemId] += 1; } else { ValuePairItemIdQuantity.Add(barring.BlanketItemId, 1); } // leftbar if (barring.LeftBarItemId != null) { if (ValuePairItemIdQuantity.ContainsKey((int)barring.LeftBarItemId)) { ValuePairItemIdQuantity[(int)barring.LeftBarItemId] += 1; } else { ValuePairItemIdQuantity.Add((int)barring.LeftBarItemId, 1); } } // rightbar if (barring.RightBarItemId != null) { if (ValuePairItemIdQuantity.ContainsKey((int)barring.RightBarItemId)) { ValuePairItemIdQuantity[(int)barring.RightBarItemId] += 1; } else { ValuePairItemIdQuantity.Add((int)barring.RightBarItemId, 1); } } } foreach (var ValuePair in ValuePairItemIdQuantity) { WarehouseItem warehouseItem = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, ValuePair.Key); if (warehouseItem.Quantity < ValuePair.Value) { barringOrder.Errors.Add("Generic", "Stock quantity BoM untuk barring tidak boleh kurang dari jumlah di dalam barring order"); return(barringOrder); } } return(barringOrder); }
public BarringOrder VQuantityReceivedEqualDetails(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService) { IList <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); if (barringOrder.QuantityReceived != details.Count()) { barringOrder.Errors.Add("QuantityReceived", "Jumlah quantity received dan jumlah barring order detail tidak sama"); } return(barringOrder); }
public BarringOrder VHasBarringOrderDetails(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService) { IList <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); if (!details.Any()) { barringOrder.Errors.Add("Generic", "Harus membuat barring order detail dahulu"); } return(barringOrder); }
public BarringOrder VAllDetailsHaveNotBeenCutNorRejected(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService) { IList <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); foreach (var detail in details) { if (detail.IsCut || detail.IsRejected) { barringOrder.Errors.Add("Generic", "Semua barring order detail harus belum di cut atau di reject"); return(barringOrder); } } return(barringOrder); }
public BarringOrder VAllDetailsHaveBeenFinishedOrRejected(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService) { IList <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); foreach (var detail in details) { if (!detail.IsFinished && !detail.IsRejected) { barringOrder.Errors.Add("Generic", "Semua barring order detail harus telah selesai atau di reject"); return(barringOrder); } } return(barringOrder); }
public BarringOrder SoftDeleteObject(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService) { if (_validator.ValidDeleteObject(barringOrder, _barringOrderDetailService)) { ICollection <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); foreach (var detail in details) { // delete details _barringOrderDetailService.GetRepository().SoftDeleteObject(detail); } _repository.SoftDeleteObject(barringOrder); } return(barringOrder); }
public dynamic GetListDetail(string _search, long nd, int rows, int?page, string sidx, string sord, int id, string filters = "") { // Construct where statement string strWhere = GeneralFunction.ConstructWhere(filters); // Get Data var query = _barringOrderDetailService.GetObjectsByBarringOrderId(id).Where(d => d.IsDeleted == false); var list = query as IEnumerable <BarringOrderDetail>; var pageIndex = Convert.ToInt32(page) - 1; var pageSize = rows; var totalRecords = query.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize); // default last page if (totalPages > 0) { if (!page.HasValue) { pageIndex = totalPages - 1; page = totalPages; } } list = list.Skip(pageIndex * pageSize).Take(pageSize); return(Json(new { total = totalPages, page = page, records = totalRecords, rows = ( from model in list select new { id = model.Id, cell = new object[] { model.BarringOrderId, model.BarringId, _barringService.GetObjectById(model.BarringId).Name, model.IsBarRequired, model.HasLeftBar, model.HasLeftBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).LeftBarItemId.Value).Id.ToString(), model.HasLeftBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).LeftBarItemId.Value).Name.ToString(), model.HasRightBar, model.HasRightBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).RightBarItemId.Value).Id.ToString(), model.HasRightBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).RightBarItemId.Value).Name.ToString(), model.IsCut, model.IsSideSealed, model.IsBarPrepared, model.IsAdhesiveTapeApplied, model.IsBarMounted, model.IsBarHeatPressed, model.IsBarPullOffTested, model.IsQCAndMarked, model.IsPackaged, model.IsRejected, model.RejectedDate, model.IsFinished, model.FinishedDate } }).ToArray() }, JsonRequestBehavior.AllowGet)); }