public void SdkTranQuery() { var config = Config.NewSM2MockConfig(); if (config.appInfo.CAType != EmCAType.Unmanaged) { Console.WriteLine("DApp in Key Trust mode cannot call this API"); return; } List <string> args = new List <string>(); args.Add("test20220526"); var request = new TransRequest(config, "user20220525") { Args = args, ChaincodeId = "cc_app0001202205241457194715844_01", ChannelId = config.appInfo.ChannelId, Fcn = "get" }; if (string.IsNullOrEmpty(request.PrivateKey) || string.IsNullOrEmpty(request.EnrollmentCertificate)) { Console.WriteLine("user info error"); return; } var s = new NodeServer(config).Trans(request); Console.WriteLine(JsonConvert.SerializeObject(s)); }
/// <summary> /// transaction processing under Key-Upload Mode /// </summary> /// <param name="config"></param> /// <param name="reqBody"></param> /// <returns></returns> public Tuple <bool, string, ReqChainCodeResBody> Trans(TransRequest reqBody) { try { NodeApiReqBody <TransReqBody> req = new NodeApiReqBody <TransReqBody>() { header = new ReqHeader() { appCode = config.appInfo.AppCode, userCode = config.userCode }, body = new TransReqBody() { transData = Transaction.CreateRequest(config, reqBody) } }; //Assemble the original string to sign var data = ReqMacExtends.TransReqMac(req); //sign data req.mac = sign.Sign(data); var res = SendHelper.SendPost <NodeApiResBody <ReqChainCodeResBody> >(config.reqUrl + TransUrl, JsonConvert.SerializeObject(req), config.httpsCert); if (res != null) { //check the status codes in turn if (res.header.code != 0) { return(new Tuple <bool, string, ReqChainCodeResBody>(false, res.header.msg, null)); } //assemble the original string to sign var datares = ResMacExtends.ReqChainCodeResMac(res); //verify data if (sign.Verify(res.mac, datares)) { return(new Tuple <bool, string, ReqChainCodeResBody>(true, res.header.msg, res.body)); } else { return(new Tuple <bool, string, ReqChainCodeResBody>(false, "failed to verify data", null)); } } } catch (Exception ex) { throw ex; } return(new Tuple <bool, string, ReqChainCodeResBody>(false, "failed to process transactions under Key-Trust Mode", null)); }
public void SdkTran() { var config = Config.NewSM2MockConfig(); List <string> args = new List <string>(); args.Add("{\"baseKey\":\"test202004212002\",\"baseValue\":\"this is string \"}"); var request = new TransRequest(config, "test") { Args = args, ChaincodeId = "cc_cl1851016378620200413194550_00", ChannelId = config.appInfo.ChannelId, Fcn = "set" }; var s = new NodeServer(config).Trans(request); Console.WriteLine(JsonConvert.SerializeObject(s)); }
public ActionResult SearchLoanIssueRequest(string search) { search = search.ToUpper(); var result = from temp in repository.InvTransRequestRepository.Get(filter: o => o.RequestType == "LNIR", orderBy: q => q.OrderByDescending(d => d.RequestDate)) where ((temp.RequestNo.ToUpper().StartsWith(search) || temp.RequestNo.ToUpper() == search)) select new { temp.RequestID, temp.RequestNo, temp.ReturnMethod, temp.RequestDate, temp.RecordStatus }; List <TransRequest> lst = new List <TransRequest>(); foreach (var item in result) { TransRequest ob = new TransRequest(); ob.RequestID = item.RequestID; ob.RequestNo = item.RequestNo; ob.ReturnMethod = item.ReturnMethod; ob.RequestDate = Convert.ToDateTime(item.RequestDate).ToString("dd/MM/yyyy"); ob.RecordStatus = item.RecordStatus; lst.Add(ob); } var data = from temp in lst select new { temp.RequestID, temp.RequestNo, temp.ReturnMethod, temp.RequestDate, temp.RecordStatus }; return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult GetLoanReceiveRequestByID(long RequestID) { INV_TransRequest data = repository.InvTransRequestRepository.GetByID(RequestID); TransRequest ob = new TransRequest(); ob.RequestID = Convert.ToInt64(data.RequestID); ob.RequestNo = data.RequestNo; ob.RequestDate = Convert.ToDateTime(data.RequestDate).ToString("dd/MM/yyyy"); ob.RequestType = data.RequestType; ob.RequestFrom = data.RequestFrom; ob.RequestTo = data.RequestTo; if (ob.RequestType == "LNIR") { // ob.RequestFromName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestTo)).StoreName;// data.RequestFrom; ob.RequestToName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestTo)).StoreName; if (data.FromSource.Equals("SUP") || data.FromSource.Equals("LAG")) { ob.RequestFromName = repository.SysSupplierRepository.GetByID(Convert.ToInt32(data.RequestFrom)).SupplierName; } else if (data.FromSource == "STR") { ob.RequestFromName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestFrom)).StoreName;// data.RequestFrom; } else { ob.RequestFromName = ""; } ob.FromSource = data.FromSource; } else { ob.RequestFromName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestFrom)).StoreName;// data.RequestFrom; if (data.ToSource.Equals("SUP") || data.ToSource.Equals("LAG")) { ob.RequestToName = repository.SysSupplierRepository.GetByID(Convert.ToInt32(data.RequestTo)).SupplierName; } else if (data.ToSource.Equals("STR")) { ob.RequestToName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestTo)).StoreName;// data.RequestFrom; } else { ob.RequestToName = ""; } } ob.ReturnMethod = data.ReturnMethod; ob.ExpectetReturnTime = Convert.ToByte(data.ExpectetReturnTime).ToString(); ob.CheckComments = data.CheckComments; ob.ApproveComments = data.ApproveComments; ob.RecordStatus = data.RecordStatus; ob.ToSource = data.ToSource; var reqItemData = repository.InvTransRequestItemRepository.Get(filter: o => o.RequestID == ob.RequestID); ob.ChemicalSelectedList = new List <TransRequestItem>(); foreach (var item in reqItemData) { TransRequestItem obItem = new TransRequestItem(); obItem.TransRequestItemID = item.TransRequestItemID; obItem.ItemID = Convert.ToInt32(item.ItemID); if (obItem.ItemID > 0) { obItem.ItemName = repository.SysChemicalItemRepository.GetByID(obItem.ItemID).ItemName; } if (Convert.ToInt32(item.PackSize) > 0) { obItem.PackSize = repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName; } obItem.SizeID = item.PackSize.ToString(); if (Convert.ToInt32(item.SizeUnit) > 0) { obItem.SizeUnit = repository.SysUnitRepository.GetByID(Convert.ToInt32(item.SizeUnit)).UnitName; } obItem.SizeUnitID = item.SizeUnit.ToString(); obItem.PackQty = Convert.ToInt32(item.PackQty); obItem.RefItemID = Convert.ToInt32(item.RefItemID); obItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); obItem.SupplierID = Convert.ToInt32(item.RefSupplierID); if (item.RefSupplierID != null) { obItem.RefSupplierName = repository.SysSupplierRepository.GetByID(Convert.ToInt32(item.RefSupplierID)).SupplierName; } obItem.ReturnMethod = item.ReturnMethod; obItem.ReferenceQty = item.TransQty == null ? 0 : (decimal)item.TransQty; decimal d = item.TransUnit == null ? 0 : Convert.ToInt32(item.TransUnit); if (d > 0) { obItem.ReferenceUnit = repository.SysUnitRepository.GetByID(d).UnitName; } else { obItem.ReferenceUnit = ""; } obItem.ReferenceUnitID = item.ReferenceUnit.ToString(); ob.ChemicalSelectedList.Add(obItem); } return(Json(ob, JsonRequestBehavior.AllowGet)); }
public ActionResult GetLoanIssueRequestList() { var result = from temp in repository.InvTransRequestRepository.Get(filter: o => o.RequestType == "LNIR") select new { temp.RequestID, temp.RequestNo, temp.ReturnMethod, temp.RequestDate, temp.RecordStatus, temp.RequestFrom, temp.RequestTo, temp.ToSource, temp.FromSource }; var sup = repository.SysSupplierRepository.Get(filter: ob => ob.SupplierCategory == "Chemical" && ob.IsActive == true && ob.IsDelete == false).Select(ob => new { ob.SupplierName, ob.SupplierID }); var str = repository.StoreRepository.Get(filter: o => o.IsActive == true && o.IsDelete == false && o.StoreCategory == "Chemical").Select(ob => new { ob.StoreID, ob.StoreName }); int id = 0; int reqToID = 0; List <TransRequest> lst = new List <TransRequest>(); foreach (var item in result) { TransRequest ob = new TransRequest(); ob.RequestID = item.RequestID; ob.RequestNo = item.RequestNo; if (item.ReturnMethod.Equals("DTD")) { ob.ReturnMethod = "Doller to Doller"; } else if (item.ReturnMethod.Equals("EOI")) { ob.ReturnMethod = "Exchange Other Item"; } else if (item.ReturnMethod.Equals("ESI")) { ob.ReturnMethod = "Exchange Same Item"; } else { ob.ReturnMethod = ob.ReturnMethod; } ob.RequestDate = Convert.ToDateTime(item.RequestDate).ToString("dd/MM/yyyy"); id = item.RequestFrom == null ? 0 : Convert.ToInt32(item.RequestFrom); if (!string.IsNullOrEmpty(item.FromSource)) { if (item.FromSource.Equals("SUP") || item.FromSource.Equals("LAG")) { ob.RequestFrom = (from t in sup where t.SupplierID == id select t.SupplierID).FirstOrDefault().ToString(); ob.RequestFromName = (from t in sup where t.SupplierID == id select t.SupplierName).FirstOrDefault(); //ob.RequestTo = (from t in sup where t.SupplierID == id select t.SupplierID).FirstOrDefault().ToString(); //ob.RequestToName = (from t in sup where t.SupplierID == id select t.SupplierName).FirstOrDefault(); } else if (item.FromSource.Equals("STR")) { ob.RequestFrom = (from t in str where t.StoreID == id select t.StoreID).FirstOrDefault().ToString(); ob.RequestFromName = (from t in str where t.StoreID == id select t.StoreName).FirstOrDefault(); } else { ob.RequestFrom = ""; ob.RequestFromName = ""; } } reqToID = item.RequestTo == null ? 0 : Convert.ToInt32(item.RequestTo); ob.RequestTo = reqToID.ToString(); ob.RequestToName = (from t in str where t.StoreID == reqToID select t.StoreName).FirstOrDefault(); if (item.RecordStatus.Equals("NCF")) { ob.RecordStatus = "Not Confirmed"; } else if (item.RecordStatus.Equals("CNF")) { ob.RecordStatus = "Confirmed"; } else if (item.RecordStatus.Equals("CHK")) { ob.RecordStatus = "Checked"; } else { ob.RecordStatus = item.RecordStatus; } lst.Add(ob); } var data = (from temp in lst select new { temp.RequestID, temp.RequestNo, temp.ReturnMethod, temp.RequestFrom, temp.RequestFromName, temp.RequestTo, temp.RequestToName, temp.RequestDate, temp.RecordStatus, temp.ToSource }).OrderByDescending(ob => ob.RequestID); return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(TransRequest dataSet) { try { //###################################### // Session["UserID"] = 1; if (dataSet.RequestID == 0) { INV_TransRequest ob = new INV_TransRequest(); if (dataSet.RequestType == "LNIR") { ob.RequestNo = DalCommon.GetPreDefineNextCodeByUrl("LoanRequest/LoanIssueRequest"); ob.FromSource = dataSet.ToSource; //ob.ToSource = "STR"; } else if (dataSet.RequestType == "LNRR") { ob.RequestNo = DalCommon.GetPreDefineNextCodeByUrl("LoanRequest/Index"); //ob.FromSource = "STR"; ob.ToSource = dataSet.ToSource; } else { } ob.RequestDate = DalCommon.SetDate(dataSet.RequestDate); ob.RequestType = dataSet.RequestType; ob.RequestFrom = dataSet.RequestFrom.ToString(); ob.RequestTo = dataSet.RequestTo.ToString(); ob.ReturnMethod = dataSet.ReturnMethod; ob.ExpectetReturnTime = Convert.ToByte(dataSet.ExpectetReturnTime); ob.RecordStatus = "NCF"; ob.SetOn = DateTime.Now; ob.SetBy = Convert.ToInt32(Session["UserID"]); ob.ModifiedBy = Convert.ToInt32(Session["UserID"]); ob.ModifiedOn = DateTime.Now; ob.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRepository.Insert(ob); INV_TransRequestRef obRef = new INV_TransRequestRef(); obRef.TransRequestRefNo = ob.RequestNo; obRef.RequestID = ob.RequestID; //obRef.RefRequestID = ob.RequestID; obRef.ReturnMethod = dataSet.ReturnMethod; obRef.SetOn = DateTime.Now; obRef.SetBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedOn = DateTime.Now; obRef.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRefRepository.Insert(obRef); if (dataSet.ChemicalSelectedList != null) { foreach (var item in dataSet.ChemicalSelectedList) { INV_TransRequestItem obReqItem = new INV_TransRequestItem(); obReqItem.RequestID = ob.RequestID; obReqItem.ReturnMethod = dataSet.ReturnMethod; obReqItem.TransRequestRefID = obRef.TransRequestRefID; if (item.ItemID > 0) { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } if (Convert.ToByte(item.PackSize) > 0) { obReqItem.PackSize = Convert.ToByte(item.PackSize); } obReqItem.PackQty = Convert.ToInt32(item.PackQty); if (Convert.ToByte(item.SizeUnit) > 0) { obReqItem.SizeUnit = Convert.ToByte(item.SizeUnit); } if (obReqItem.PackQty != null && item.PackSize != null) { obReqItem.TransQty = obReqItem.PackQty * ((Convert.ToByte(repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName))); } if (Convert.ToByte(item.ReferenceUnit) > 0) { obReqItem.TransUnit = Convert.ToByte(item.ReferenceUnit); } if (item.RefSupplierID > 0) { obReqItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); } obReqItem.SetBy = Convert.ToInt32(Session["UserID"]); obReqItem.SetOn = DateTime.Now; obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Insert(obReqItem); } } try { repository.Save(); _vmMsg.ReturnCode = ob.RequestNo; _vmMsg.ReturnId = repository.InvTransRequestRepository.Get().Last().RequestID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Saved Successfully."; } catch (Exception ex) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; } } else // Update { INV_TransRequest ob = repository.InvTransRequestRepository.GetByID(dataSet.RequestID); ob.RequestDate = DalCommon.SetDate(dataSet.RequestDate); ob.RequestFrom = dataSet.RequestFrom.ToString(); ob.RequestTo = dataSet.RequestTo.ToString(); ob.ReturnMethod = dataSet.ReturnMethod; ob.ExpectetReturnTime = Convert.ToByte(dataSet.ExpectetReturnTime); ob.ModifiedOn = DateTime.Now; ob.ModifiedBy = Convert.ToInt32(Session["UserID"]); ob.FromSource = "STR"; if (ob.RequestType == "LNIR") { ob.FromSource = dataSet.ToSource; } else if (ob.RequestType == "LNRR") { ob.ToSource = dataSet.ToSource; } else { } //ob.ToSource = dataSet.ToSource; ob.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRepository.Update(ob); INV_TransRequestRef obRef = repository.InvTransRequestRefRepository.Get(filter: o => o.RequestID == dataSet.RequestID).FirstOrDefault(); obRef.ReturnMethod = dataSet.ReturnMethod; obRef.ModifiedBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedOn = DateTime.Now; obRef.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRefRepository.Update(obRef); if (dataSet.ChemicalSelectedList != null) { foreach (var item in dataSet.ChemicalSelectedList) { if (item.TransRequestItemID == 0) { INV_TransRequestItem obReqItem = new INV_TransRequestItem(); obReqItem.RequestID = ob.RequestID; obReqItem.TransRequestRefID = obRef.TransRequestRefID; obReqItem.ReturnMethod = dataSet.ReturnMethod; if (Convert.ToInt32(item.ItemID) > 0) { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } if (Convert.ToByte(item.PackSize) > 0) { obReqItem.PackSize = Convert.ToByte(item.PackSize); } else { obReqItem.PackSize = 0; } obReqItem.PackQty = Convert.ToInt32(item.PackQty); if (Convert.ToByte(item.SizeUnit) > 0) { obReqItem.SizeUnit = Convert.ToByte(item.SizeUnit); } if (obReqItem.PackQty > 0 && item.PackSize != null) { obReqItem.TransQty = obReqItem.PackQty * ((Convert.ToByte(repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName)));//Convert.ToDecimal(item.ReferenceQty); } else { obReqItem.TransQty = Convert.ToDecimal(item.ReferenceQty); } if (Convert.ToByte(item.ReferenceUnit) > 0) { obReqItem.TransUnit = Convert.ToByte(item.ReferenceUnit); } if (Convert.ToInt32(item.RefSupplierID) > 0) { obReqItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); } obReqItem.SetBy = Convert.ToInt32(Session["UserID"]); obReqItem.SetOn = DateTime.Now; obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Insert(obReqItem); } else { INV_TransRequestItem obReqItem = repository.InvTransRequestItemRepository.GetByID(item.TransRequestItemID); if (Convert.ToInt32(item.ItemID) > 0) { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } if (Convert.ToByte(item.PackSize) > 0) { obReqItem.PackSize = Convert.ToByte(item.PackSize); } else { obReqItem.PackSize = 0; } obReqItem.PackQty = Convert.ToInt32(item.PackQty); obReqItem.ReturnMethod = dataSet.ReturnMethod; if (Convert.ToByte(item.SizeUnit) > 0) { obReqItem.SizeUnit = Convert.ToByte(item.SizeUnit); } if (obReqItem.PackQty > 0 && item.PackSize != null) { obReqItem.TransQty = obReqItem.PackQty * (Convert.ToByte(repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName)); //Convert.ToDecimal(item.ReferenceQty); } else { obReqItem.TransQty = Convert.ToDecimal(item.ReferenceQty); } if (Convert.ToByte(item.ReferenceUnit) > 0) { obReqItem.TransUnit = Convert.ToByte(item.ReferenceUnit); } if (Convert.ToInt32(item.RefSupplierID) > 0) { obReqItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); } obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Update(obReqItem); } } } try { repository.Save(); _vmMsg.ReturnCode = ob.RequestNo; _vmMsg.ReturnId = dataSet.RequestID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Updated Successfully."; } catch (Exception x) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; } } } catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage)); } } throw new DbEntityValidationException(sb.ToString(), e); } return(Json(new { msg = _vmMsg })); }