public HttpResponseMessage Post([FromBody] TransferOrderModel transferOrderModel) { try { if (string.IsNullOrEmpty(transferOrderModel.ToMasterData.from_warehouse_id.ToString())) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Please Select From Warehouse !!" }, formatter)); } if (string.IsNullOrEmpty(transferOrderModel.ToMasterData.to_warehouse_id.ToString())) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Please Select To Warehouse !!" }, formatter)); } else { transferOrderRepository.AddTransferOrder(transferOrderModel); var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "success", msg = "Transfer Order save successfully" }, formatter)); } } catch (Exception ex) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = ex.ToString() }, formatter)); } }
public JsonResult Edit(TransferOrderModel model) { model.EditBy = _context.CurrentAccount.AccountId; model.EditByName = _context.CurrentAccount.NickName; _transaferFacade.Edit(model); return(Json(new { success = true })); }
public JsonResult Create(TransferOrderModel model) { model.EditBy = _context.CurrentAccount.AccountId; model.EditByName = _context.CurrentAccount.NickName; _transaferFacade.Create(model); return(Json(new { success = true, code = model.Code, statusName = model.StatusName, id = model.Id })); }
public void Create(TransferOrderModel model) { TransferOrder entity = model.MapTo <TransferOrder>(); entity.CreatedBy = model.EditBy; entity.CreatedByName = model.EditByName; entity.UpdatedBy = model.EditBy; entity.Code = _sequenceService.GenerateNewCode(BillIdentity.TransferOrder); // 明细 var items = JsonConvert.DeserializeObject <List <TransferOrderItem> >(model.ItemsJson); entity.Items = items; _db.Insert(entity); //跟踪记录 var reason = "创建调拨单"; var history = new ProcessHistory(model.EditBy, model.EditByName, (int)entity.Status, entity.Id, BillIdentity.TransferOrder.ToString(), reason); _db.Command.AddExecute(history.CreateSql(entity.GetType().Name, entity.Code), history); _db.SaveChange(); var modelEntity = _db.Table.Find <TransferOrder>(n => n.Code == entity.Code); model.Id = modelEntity.Id; model.Code = entity.Code; model.StatusName = entity.Status.Description(); entity.Id = modelEntity.Id; }
public void Edit(TransferOrderModel model) { var entity = _db.Table.Find <TransferOrder>(model.Id); entity = model.MapTo <TransferOrder>(entity); entity.UpdatedBy = model.EditBy; entity.UpdatedOn = DateTime.Now; _db.Update(entity); var items = JsonConvert.DeserializeObject <List <TransferOrderItem> >(model.ItemsJson); items.ForEach(n => n.TransferOrderId = entity.Id); entity.Items = items; _service.EditItem(entity); _db.SaveChange(); }
public TransferOrderModel GetTransferOrderById(long transfer_order_master_id) { TransferOrderModel transferOrderModel = new TransferOrderModel(); transferOrderModel.ToMasterData = _entities.transfer_order_master.Find(transfer_order_master_id); transferOrderModel.ToDetailsList = _entities.transfer_order_details .Join(_entities.products, jp => jp.product_id, p => p.product_id, (jp, p) => new { jp, p }) .Join(_entities.product_category, jcat => jcat.jp.product_category_id, cat => cat.product_category_id, (jcat, cat) => new { jcat, cat }) .Join(_entities.brands, jb => jb.jcat.jp.brand_id, b => b.brand_id, (jb, b) => new { jb, b }) .GroupJoin(_entities.colors, jc => jc.jb.jcat.jp.color_id, c => c.color_id, (jc, c) => new { jc, nc = c.FirstOrDefault() }) .Join(_entities.units, ju => ju.jc.jb.jcat.jp.unit_id, u => u.unit_id, (ju, u) => new { ju, u }) // .GroupJoin(_entities.product_version, jpv => jpv.ju.jc.jb.jcat.jp.product_version_id, jpv => jpv.product_version_id, (jpv, pp) => new { jpv, pp }) .GroupJoin(_entities.product_version, jpv => jpv.ju.jc.jb.jcat.jp.product_version_id, pv => pv.product_version_id, (jpv, pv) => new { jpv, vc = pv.FirstOrDefault() }) .Where(k => k.jpv.ju.jc.jb.jcat.jp.transfer_order_master_id == transfer_order_master_id) .Select(i => new TransferOrderDetailsModel { transfer_order_details_id = i.jpv.ju.jc.jb.jcat.jp.transfer_order_details_id, product_category_id = i.jpv.ju.jc.jb.cat.product_category_id, product_category_name = i.jpv.ju.jc.jb.cat.product_category_name, product_id = i.jpv.ju.jc.jb.jcat.jp.product_id, product_name = i.jpv.ju.jc.jb.jcat.p.product_name, has_serial = (bool)i.jpv.ju.jc.jb.jcat.p.has_serial, brand_id = i.jpv.ju.jc.jb.jcat.jp.brand_id, brand_name = i.jpv.ju.jc.b.brand_name, color_id = i.jpv.ju.nc.color_id, color_name = string.IsNullOrEmpty(i.jpv.ju.nc.color_name) ? "" : i.jpv.ju.nc.color_name, quantity = i.jpv.ju.jc.jb.jcat.jp.quantity, product_version_id = i.vc.product_version_id, product_version_name = string.IsNullOrEmpty(i.vc.product_version_name) ? "" : i.vc.product_version_name, transfered_quantity = i.jpv.ju.jc.jb.jcat.jp.transfered_quantity, unit_price = i.jpv.ju.jc.jb.jcat.jp.unit_price, line_total = i.jpv.ju.jc.jb.jcat.jp.line_total, transfer_order_master_id = i.jpv.ju.jc.jb.jcat.jp.transfer_order_master_id, last_modified_date = i.jpv.ju.jc.jb.jcat.jp.last_modified_date, unit_id = i.jpv.u.unit_id, unit_name = i.jpv.u.unit_name, status = i.jpv.ju.jc.jb.jcat.jp.status }).OrderByDescending(p => p.transfer_order_details_id).ToList(); return(transferOrderModel); }
public bool UpdateInboundScaleData(int transferOrderId, int sequenceNumber, int driverId, int truckNumber, int trailerNumber, decimal weight, DateTime scaleInDate) { ServiceLog.Default.Trace(@"Attempting to update Inbound data: Transfer Order: {0} Sequence Number: {1} Driver Id: {2} Truck: {3} Trailer: {4} Weight: {5} Scale Date: {6}", transferOrderId.ToString(), sequenceNumber.ToString(), driverId.ToString(), truckNumber.ToString(), trailerNumber.ToString(), weight.ToString(), scaleInDate.ToString() ); TransferOrderModel transferOrder = svc.getTransferOrder(transferOrderId); if (transferOrder != null) { if (svc.UpdateTransferOrder(transferOrder, "Inbound", transferOrderId, sequenceNumber, scaleInDate, null, trailerNumber, null, weight)) { ServiceLog.Default.Trace("Inbound scale message for id:{0} was processed successfully.", transferOrderId.ToString()); return(true); } else { ServiceLog.Default.Trace("There was an error updating the inbound scale message, or the record already has matching values."); return(false); } } else { ServiceLog.Default.Trace("Transfer order object was null for id {0}", transferOrderId.ToString()); return(false); } }
public long AddTransferOrder(TransferOrderModel transferOrderModel) { try { var toMaster = transferOrderModel.ToMasterData; var toDetailsList = transferOrderModel.ToDetailsList; // generate order_no long toSerial = _entities.transfer_order_master.Max(to => (long?)to.transfer_order_master_id) ?? 0; if (toSerial != 0) { toSerial++; } else { toSerial++; } var toStr = toSerial.ToString().PadLeft(7, '0'); //string orderNo = "ORD/" + DateTime.Now.Year + "/" + poSerial; string orderNo = "TO-" + toStr; toMaster.order_no = orderNo; toMaster.order_date = Convert.ToDateTime(transferOrderModel.ToMasterData.order_date); toMaster.status = transferOrderModel.ToMasterData.status; toMaster.remarks = transferOrderModel.ToMasterData.remarks; toMaster.expected_transfer_date = transferOrderModel.ToMasterData.expected_transfer_date; toMaster.total_amount = transferOrderModel.ToMasterData.total_amount; toMaster.from_warehouse_id = transferOrderModel.ToMasterData.from_warehouse_id; toMaster.to_warehouse_id = transferOrderModel.ToMasterData.to_warehouse_id; toMaster.created_by = transferOrderModel.ToMasterData.created_by; toMaster.created_date = DateTime.Now; toMaster.updated_by = transferOrderModel.ToMasterData.updated_by; toMaster.updated_date = DateTime.Now; toMaster.is_active = true; toMaster.is_deleted = false; _entities.transfer_order_master.Add(toMaster); _entities.SaveChanges(); long transferOrderMasterId = toMaster.transfer_order_master_id; foreach (var item in toDetailsList) { var toDetails = new transfer_order_details { transfer_order_master_id = transferOrderMasterId, product_id = item.product_id, unit_id = item.unit_id, unit_price = item.unit_price, quantity = item.quantity, product_version_id = item.product_version_id, brand_id = item.brand_id, color_id = item.color_id, transfered_quantity = 0, last_modified_date = DateTime.Now, line_total = item.line_total, size_id = item.size_id, status = item.status, product_category_id = item.product_category_id }; _entities.transfer_order_details.Add(toDetails); _entities.SaveChanges(); } return(1); } catch (Exception ex) { return(0); } }
public bool EditTransferOrder(TransferOrderModel transferOrderModel) { try { var toMaster = transferOrderModel.ToMasterData; var toDetailsList = transferOrderModel.ToDetailsList; transfer_order_master masterData = _entities.transfer_order_master.Find(toMaster.transfer_order_master_id); masterData.order_date = Convert.ToDateTime(transferOrderModel.ToMasterData.order_date); masterData.remarks = transferOrderModel.ToMasterData.remarks; masterData.expected_transfer_date = transferOrderModel.ToMasterData.expected_transfer_date; masterData.total_amount = transferOrderModel.ToMasterData.total_amount; masterData.from_warehouse_id = transferOrderModel.ToMasterData.from_warehouse_id; masterData.to_warehouse_id = transferOrderModel.ToMasterData.to_warehouse_id; masterData.created_by = transferOrderModel.ToMasterData.created_by; masterData.created_date = DateTime.Now; masterData.updated_by = transferOrderModel.ToMasterData.updated_by; masterData.updated_date = DateTime.Now; masterData.is_active = true; masterData.is_deleted = false; _entities.SaveChanges(); foreach (var item in toDetailsList) { transfer_order_details detailsData = _entities.transfer_order_details.FirstOrDefault(pd => pd.transfer_order_master_id == toMaster.transfer_order_master_id && pd.transfer_order_details_id == item.transfer_order_details_id && pd.last_modified_date == item.last_modified_date); if (detailsData != null) { detailsData.transfer_order_master_id = toMaster.transfer_order_master_id; detailsData.product_id = item.product_id; detailsData.unit_id = item.unit_id; detailsData.unit_price = item.unit_price; detailsData.quantity = item.quantity; detailsData.product_version_id = item.product_version_id; detailsData.brand_id = item.brand_id; detailsData.color_id = item.color_id; detailsData.last_modified_date = DateTime.Now; detailsData.line_total = item.line_total; detailsData.size_id = item.size_id; detailsData.status = item.status; detailsData.product_category_id = item.product_category_id; _entities.SaveChanges(); } else { var poDetails = new transfer_order_details { transfer_order_master_id = toMaster.transfer_order_master_id, product_id = item.product_id, unit_id = item.unit_id, unit_price = item.unit_price, quantity = item.quantity, product_version_id = item.product_version_id, brand_id = item.brand_id, color_id = item.color_id, transfered_quantity = 0, last_modified_date = DateTime.Now, line_total = item.line_total, size_id = item.size_id, status = item.status, product_category_id = item.product_category_id }; _entities.transfer_order_details.Add(poDetails); _entities.SaveChanges(); } } return(true); } catch (Exception ex) { return(false); } }
public bool UpdateTransferOrder(TransferOrderModel order, string function, int transferOrderId, int sequenceNumber, DateTime?loadStartDate, DateTime?loadEndDate, int?equipmentId, int?loaderId, decimal weight) { var client = getUrl(transferOrderId); var request = new RestRequest(Method.PATCH); request.AddHeader("Content-Type", "application/json-patch+json"); request.RequestFormat = DataFormat.Json; TransferOrderModel updTO = order; bool splitLoad = updTO.isSplit; updTO.transferOrderArrivals = updTO.transferOrderArrivals.Where(x => x.sequenceNumber == sequenceNumber).ToList(); bool previouslyCompleted = false; if (function == "Inbound") { if (updTO.transferOrderArrivals.Single().scaleInWeight == null || updTO.transferOrderArrivals.Single().scaleInWeight != weight) { var updLoadStartDate = JsonConvert.ToString(Convert.ToDateTime(loadStartDate).ToUniversalTime()); updLoadStartDate = updLoadStartDate.Replace("\"", ""); updTO.transferOrderArrivals.Single().scaleInWeight = weight; updTO.transferOrderArrivals.Single().scaleInDate = updLoadStartDate; if (splitLoad) { if (sequenceNumber == 1) { updTO.departureEquipmentName = equipmentId.ToString(); updTO.loadStartDate = updLoadStartDate; } } else { updTO.departureEquipmentName = equipmentId.ToString(); updTO.loadStartDate = updLoadStartDate; } } else { ServiceLog.Default.Trace("Record already has a scale in weight that matches for id {0}, sequence {1}", updTO.transferOrderId.ToString(), updTO.transferOrderArrivals.Single().sequenceNumber.ToString()); previouslyCompleted = true; } } else { var updLoadEndDate = JsonConvert.ToString(Convert.ToDateTime(loadEndDate).ToUniversalTime()); updLoadEndDate = updLoadEndDate.Replace("\"", ""); if (updTO.transferOrderArrivals.Single().scaleOutWeight == null || updTO.transferOrderArrivals.Single().scaleOutWeight != weight) { updTO.transferOrderArrivals.Single().scaleOutWeight = weight; updTO.transferOrderArrivals.Single().netTransferWeight = Math.Abs(Convert.ToDecimal(updTO.transferOrderArrivals.Single().scaleInWeight) - weight); updTO.transferOrderArrivals.Single().scaleOutDate = updLoadEndDate; updTO.transferOrderLoaderId = loaderId; if (splitLoad) { if (sequenceNumber != 1) { updTO.loadEndDate = updLoadEndDate; } } else { updTO.loadEndDate = updLoadEndDate; } } else { ServiceLog.Default.Trace("Record already has a scale out weight that matches for id {0}, sequence {1}", updTO.transferOrderId.ToString(), updTO.transferOrderArrivals.Single().sequenceNumber.ToString()); previouslyCompleted = true; } } if (!previouslyCompleted) { try { string json = JsonConvert.SerializeObject(updTO); request.AddParameter("application/json-patch+json", json, ParameterType.RequestBody); var response = client.Execute(request); if (response.IsSuccessful) { ServiceLog.Default.Trace("Transfer order Id {0}, sequence {1} was successfully updated.", transferOrderId.ToString(), sequenceNumber.ToString()); return(true); } } catch (Exception e) { ServiceLog.Default.Trace("Exception has occurred: ", e.Message); return(false); } } return(false); }
public bool UpdateInboundScaleData(int transferOrderId, int sequenceNumber, int driverId, int truckNumber, int trailerNumber, decimal weight, DateTime scaleInDate) { TransferOrderModel transferOrder = getTransferOrder(transferOrderId); return(false); }