public override bool TryGetValue(UEI experienceID, out ExperienceInfo experienceInfo) { ExperienceInfoCache info; if (m_ExperienceInfoCache.TryGetValue(experienceID.ID, out info) && m_ClockSource.TicksElapsed(m_ClockSource.TickCount, info.ExpiryTickCount) < m_ClockSource.SecsToTicks(ExperienceInfoTimeout)) { experienceInfo = new ExperienceInfo(info.Info); return(true); } ExperienceInfo expInfo; if (InnerExperienceService.TryGetValue(experienceID, out expInfo)) { info = new ExperienceInfoCache { Info = expInfo, ExpiryTickCount = m_ClockSource.TickCount }; m_ExperienceInfoCache[experienceID.ID] = info; experienceInfo = new ExperienceInfo(expInfo); return(true); } experienceInfo = default(ExperienceInfo); return(false); }
byte[] UpdateExperienceInfo(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); if (request.ContainsKey("public_id")) { ExperienceInfo info = new ExperienceInfo(request); var updated = m_service.UpdateExpereienceInfo(info); if (updated != null) { result = updated.ToDictionary(); } else { result["result"] = "failed"; } } else { result["result"] = "failed"; } string xmlString = ServerUtils.BuildXmlResponse(result); return(Util.UTF8NoBomEncoding.GetBytes(xmlString)); }
/// <summary> /// 更新调拨单 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual ExperienceInfo UpdateRequest(ExperienceInfo entityToUpdate) { var newItems = entityToUpdate.ExperienceItemInfoList; CheckedCondition(entityToUpdate); using (var scope = new TransactionScope()) { ExperienceDA.UpdateExperience(entityToUpdate); if (newItems != null && newItems.Count > 0) { ExperienceDA.DeleteExperienceItemByRequestSysNo(entityToUpdate.SysNo.Value); newItems.ForEach(item => { ExperienceDA.CreateExperienceItem(item, entityToUpdate.SysNo.Value); }); } scope.Complete(); } return(entityToUpdate); }
public override void Add(ExperienceInfo info) { if (info.ID.HomeURI == null) { info.ID.HomeURI = new Uri(m_HomeURI); } var vals = new Dictionary <string, object> { { "ID", info.ID.ID }, { "Name", info.ID.ExperienceName }, { "HomeURI", info.ID.HomeURI }, { "Description", info.Description }, { "Properties", info.Properties }, { "Owner", info.Owner }, { "Creator", info.Creator }, { "Group", info.Group }, { "Maturity", info.Maturity }, { "Marketplace", info.Marketplace }, { "LogoID", info.LogoID }, { "SlUrl", info.SlUrl } }; using (var conn = new SqlConnection(m_ConnectionString)) { conn.Open(); conn.InsertInto("experiences", vals); } }
public ExperienceInfo UpdateExpereienceInfo(ExperienceInfo info) { ExperienceInfoData data = new ExperienceInfoData(); data.public_id = info.public_id; data.owner_id = info.owner_id; data.name = info.name; data.description = info.description; data.group_id = info.group_id; data.slurl = info.slurl; data.logo = info.logo; data.marketplace = info.marketplace; data.maturity = info.maturity; data.properties = info.properties; if (m_Database.UpdateExperienceInfo(data)) { var find = GetExperienceInfos(new UUID[] { data.public_id }); if (find.Length == 1) { return(new ExperienceInfo(find[0].ToDictionary())); } } return(null); }
///// <summary> ///// 根据商品编号得到其所属产品线 ///// </summary> ///// <param name="sysNo"></param> ///// <returns></returns> //public virtual ExperienceInfo GetProductLineInfo(int ProductSysNo) //{ // ExperienceInfo Experience = ExperienceDA.GetProductLineInfo(ProductSysNo); // return Experience; //} /// <summary> /// 创建调拨单 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual ExperienceInfo CreateRequest(ExperienceInfo entityToCreate) { ExperienceInfo result; var newItems = entityToCreate.ExperienceItemInfoList; CheckedCondition(entityToCreate); using (var scope = new TransactionScope()) { entityToCreate.Status = ExperienceHallStatus.Created; entityToCreate.InDate = DateTime.Now; //int requestSysNo = ExperienceDA.GetExperienceSequence(); //entityToCreate.SysNo = requestSysNo; result = ExperienceDA.CreateExperience(entityToCreate); if (newItems != null && newItems.Count > 0) { ExperienceDA.DeleteExperienceItemByRequestSysNo(result.SysNo.Value); newItems.ForEach(item => { ExperienceDA.CreateExperienceItem(item, result.SysNo.Value); }); } scope.Complete(); } return(result); }
/// <summary> /// 审核调拨单 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual void AuditExperience(ExperienceInfo entityToUpdate) { List <ExperienceItemInfo> items = ExperienceDA.GetExperienceItemListByRequestSysNo(entityToUpdate.SysNo.Value); ExperienceInfo Experience = GetExperienceInfoBySysNo(entityToUpdate.SysNo.Value); CheckedCondition(Experience); ExperienceDA.UpdateExperienceStatus(entityToUpdate, (int)ExperienceHallStatus.Audit); //using (var scope = new TransactionScope()) //{ // if (items != null && items.Count > 0) // { // items.ForEach(x => // { // ExperienceDA.AuditExperienceInOrOut(x, entityToUpdate.SysNo.Value); // }); // } // ExperienceDA.UpdateExperienceStatus(entityToUpdate, (int)ExperienceHallStatus.Experienced); // scope.Complete(); //} }
public ExperienceInfo LoadExperienceInfo(string requestSysNo) { int sysNo = int.Parse(requestSysNo); ExperienceInfo result = ObjectFactory <ExperienceHallAppService> .Instance.GetExperienceInfoBySysNo(sysNo); return(result); }
private void CheckedCondition(ExperienceInfo entity) { var newItems = entity.ExperienceItemInfoList; if (newItems.Any(x => { return(x.AllocateQty <= 0); })) { throw new BizException("商品调拨数量必须大于0"); } if (entity.AllocateType == AllocateType.ExperienceOut) { string error = string.Empty; newItems.ForEach(x => { if (ExperienceDA.GetValidStockQty(x.ProductSysNo.Value) < x.AllocateQty) { error += "商品 " + x.ProductSysNo.Value + " 体验厅库存不足" + Environment.NewLine; } }); if (!string.IsNullOrEmpty(error)) { throw new BizException(error); } } }
public override void Add(ExperienceInfo info) { if (info.ID.HomeURI == null) { info.ID.HomeURI = new Uri(m_HomeURI); } m_Experiences.Add(info.ID.ID, info); }
/// <summary> /// 根据SysNo获取调拨单信息 /// </summary> /// <param name="requestSysNo"></param> /// <returns></returns> public virtual ExperienceInfo GetExperienceInfoBySysNo(int requestSysNo) { ExperienceInfo Experience = ExperienceDA.GetExperienceInfoBySysNo(requestSysNo); if (Experience != null) { Experience.ExperienceItemInfoList = ExperienceDA.GetExperienceItemListByRequestSysNo(requestSysNo); } return(Experience); }
/// <summary> /// 更新调拨单状态 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual void UpdateExperienceStatus(ExperienceInfo entity, int status) { DataCommand dc = DataCommandManager.GetDataCommand("Inventory_UpdateExperienceStatus"); dc.SetParameterValue("@Status", status); dc.SetParameterValue("@AuditUser", entity.AuditUser); dc.SetParameterValue("@EditUser", entity.EditUser); dc.SetParameterValue("@SysNo", entity.SysNo.Value); dc.ExecuteNonQuery(); }
/// <summary> /// 更新调拨单信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual ExperienceInfo UpdateExperience(ExperienceInfo entity) { DataCommand dc = DataCommandManager.GetDataCommand("Inventory_UpdateExperience"); dc.SetParameterValue("@RequestSysNo", entity.SysNo); dc.SetParameterValue("@StockSysNo", entity.StockSysNo); dc.SetParameterValue("@Memo", entity.Meno); dc.SetParameterValue("@AllocateType", (int)entity.AllocateType); dc.SetParameterValue("@Status", (int)entity.Status); dc.SetParameterValue("@EditUser", entity.EditUser); return(dc.ExecuteEntity <ExperienceInfo>()); }
/* ExperienceInfo * <map> * <key>public_id</key><uuid></uuid> x * <key>agent_id</key><uuid></uuid> x * <key>group_id</key><uuid></uuid> x * <key>name</key><string></string> x * <key>properties</key><integer></integer> x * <!--<key>expiration</key><xx/>--> * <key>description</key><string></string> x * <!--<key>quota</key><xx/>--> * <key>maturity</key><integer></integer> x * <key>extended_metadata</key><string></string> x * <key>slurl</key><url></url> * </map> * * extended_metadata is string with <llsd><map><key>marketplace</key><string></string><key>logo</key><uuid>assetid</uuid></key> */ public static Map ToMap(this ExperienceInfo info) => new Map { ["public_id"] = (AString)info.ID.ID.ToString(), ["agent_id"] = info.Owner.ID, ["group_id"] = info.Group.ID, ["name"] = (AString)info.ID.ExperienceName, ["properties"] = (Integer)(int)info.Properties, ["description"] = (AString)(info.Description), ["maturity"] = (Integer)(int)info.Maturity, ["extended_metadata"] = (AString)info.ExtendedMetadata, ["slurl"] = (AString)info.SlUrl };
public override void Update(UGUI requestingAgent, ExperienceInfo info) { if (!m_Experiences.ContainsKey(info.ID.ID)) { throw new KeyNotFoundException(); } if (!Admins[info.ID, requestingAgent]) { throw new InvalidOperationException(); } m_Experiences[info.ID.ID] = new ExperienceInfo(info); }
public override bool TryGetValue(UEI experienceID, out ExperienceInfo experienceInfo) { ExperienceInfo res; if (m_Experiences.TryGetValue(experienceID.ID, out res)) { experienceInfo = new ExperienceInfo(res); return(true); } experienceInfo = null; return(false); }
public ExperienceInfo[] FindExperiencesByName(string search) { List <ExperienceInfo> infos = new List <ExperienceInfo>(); ExperienceInfoData[] datas = m_Database.FindExperiences(search); foreach (var data in datas) { ExperienceInfo info = new ExperienceInfo(data.ToDictionary()); infos.Add(info); } return(infos.ToArray()); }
private ExperienceInfo AddToLocalInfo(string keycode, string info) { ExperienceInfo data = null; try { var sh = new ExperienceInfoClass(_dblocalfile); data = sh.InsertExperienceInfo(keycode, info); sh.ExperienceInfoRefresh(dgvLocalExperienceInfo, txtLocalExperienceKeyCode.Text); sh.SortGrid(dgvLocalExperienceInfo, ExperienceInfoClass.SelColInx); } catch (Exception ex) { SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "#Add to Info", $@"#{ex.Message}", FormStartPosition.CenterScreen, SEMessageBoxButtons.OK, SEMessageBoxIcon.Error); } return(data); }
/// <summary> /// 创建调拨单信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual ExperienceInfo CreateExperience(ExperienceInfo entity) { DataCommand dc = DataCommandManager.GetDataCommand("Inventory_CreateExperience"); dc.SetParameterValue("@StockSysNo", entity.StockSysNo); dc.SetParameterValue("@Memo", entity.Meno); dc.SetParameterValue("@AllocateType", (int)entity.AllocateType); dc.SetParameterValue("@Status", (int)entity.Status); dc.SetParameterValue("@InDate", entity.InDate); dc.SetParameterValue("@InUser", entity.InUser); int sysno = dc.ExecuteScalar <int>(); entity.SysNo = sysno; return(entity); }
private void UpdateRequestStatus(string relativeUrl, ExperienceVM requestVM, Action <int?> callback) { ExperienceInfo msg = ConvertRequestVMToInfo(requestVM); restClient.Update <int?>(relativeUrl, msg, (obj, args) => { if (!args.FaultsHandle()) { //ExperienceVM vm = null; if (args.Result != null) { //vm = ConvertRequestInfoToVM(args.Result); } if (callback != null) { callback(args.Result); } } }); }
public override bool TryGetValue(UUID experienceID, out ExperienceInfo experienceInfo) { using (var conn = new MySqlConnection(m_ConnectionString)) { conn.Open(); using (var cmd = new MySqlCommand("SELECT * FROM experiences WHERE ID = @id", conn)) { cmd.Parameters.AddParameter("@id", experienceID); using (MySqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { experienceInfo = reader.ToExperienceInfo(); return(true); } } } } experienceInfo = default(ExperienceInfo); return(false); }
private ExperienceVM ConvertRequestInfoToVM(ExperienceInfo info) { ExperienceVM vm = info.Convert <ExperienceInfo, ExperienceVM>((i, v) => { }); //ExperienceVM vm = new ExperienceVM() //{ // AllocateType = info.AllocateType, // AuditDate = info.AuditDate, // AuditUser = info.AuditUser, // EditDate = info.EditDate, // EditUser = info.EditUser, // InDate = info.InDate, // InUser = info.InUser, // Meno = info.Meno, // Status = info.Status, // StockSysNo = info.StockSysNo, // SysNo = info.SysNo //}; //if (info.ExperienceItemInfoList != null) //{ // info.ExperienceItemInfoList.ForEach(p => // { // ExperienceItemVM item = new ExperienceItemVM() // { // AllocateQty = p.AllocateQty, // AllocateSysNo = p.AllocateSysNo, // ProductID = p.ProductID, // ProductName = p.ProductName, // ProductSysNo = p.ProductSysNo, // SysNo = p.SysNo // }; // vm.ExperienceItemInfoList.Add(item); // }); //} return(vm); }
public override void Add(ExperienceInfo info) { var vals = new Dictionary <string, object>(); vals.Add("ID", info.ID); vals.Add("Name", info.Name); vals.Add("Description", info.Description); vals.Add("Properties", info.Properties); vals.Add("Owner", info.Owner); vals.Add("Creator", info.Creator); vals.Add("Group", info.Group); vals.Add("Maturity", info.Maturity); vals.Add("Marketplace", info.Marketplace); vals.Add("LogoID", info.LogoID); vals.Add("SlUrl", info.SlUrl); using (var conn = new MySqlConnection(m_ConnectionString)) { conn.Open(); conn.InsertInto("experiences", vals); } }
public void UpdateRequest(ExperienceVM requestVM, Action <int?> callback) { string relativeUrl = "/InventoryService/ExperienceHall/UpdateExperience"; SetRequestUserInfo(requestVM, InventoryAdjustSourceAction.Update); ExperienceInfo msg = ConvertRequestVMToInfo(requestVM); restClient.Update <int?>(relativeUrl, msg, (obj, args) => { if (!args.FaultsHandle()) { //ExperienceVM vm = null; if (args.Result != null) { //vm = ConvertRequestInfoToVM(args.Result); } if (callback != null) { callback(args.Result); } } }); }
public ExperienceInfo UpdateExpereienceInfo(ExperienceInfo info) { // let's just pray they never add a parameter named "method" Dictionary <string, object> sendData = info.ToDictionary(); sendData["METHOD"] = "updateexperienceinfo"; string request_str = ServerUtils.BuildQueryString(sendData); string reply = SynchronousRestFormsRequester.MakeRequest("POST", m_ServerURI, request_str, m_Auth); //m_log.InfoFormat("[EXPERIENCE SERVICE CONNECTOR]: UpdateExpereienceInfo Reply: {0}", reply); if (reply != string.Empty) { Dictionary <string, object> replyData = ServerUtils.ParseXmlResponse(reply); ExperienceInfo responseInfo = new ExperienceInfo(replyData); return(responseInfo); } return(null); }
private ExperienceInfo ConvertRequestVMToInfo(ExperienceVM vm) { ExperienceInfo info = vm.ConvertVM <ExperienceVM, ExperienceInfo>((v, i) => { }); info.ExperienceItemInfoList = new List <ExperienceItemInfo>(); vm.ExperienceItemInfoList.ForEach(item => { //info.ExperienceItemInfoList.Add(new ExperienceItemInfo() //{ // AllocateQty = item.AllocateQty, // ProductID = item.ProductID, // ProductName = item.ProductName, // ProductSysNo = item.ProductSysNo //}); ExperienceItemInfo itemInfo = item.ConvertVM <ExperienceItemVM, ExperienceItemInfo>(); info.ExperienceItemInfoList.Add(itemInfo); }); return(info); }
public virtual int ExperienceInOrOut(ExperienceInfo entityToUpdate) { ObjectFactory <ExperienceHallAppService> .Instance.ExperienceInOrOut(entityToUpdate); return(entityToUpdate.SysNo.Value); }
public virtual int UpdateExperience(ExperienceInfo entityToUpdate) { ExperienceInfo result = ObjectFactory <ExperienceHallAppService> .Instance.UpdateRequest(entityToUpdate); return(result.SysNo.Value); }
bool CheckForEquality(ExperienceInfo gInfo, ExperienceInfo testGroupInfo) { var unequal = new List <string>(); if (!gInfo.ID.ID.Equals(testGroupInfo.ID.ID)) { unequal.Add($"ExperienceID ({gInfo.ID.ID}!={testGroupInfo.ID.ID})"); } if (!gInfo.ID.ExperienceName.Equals(testGroupInfo.ID.ExperienceName)) { unequal.Add($"ExperienceName ({gInfo.ID.ExperienceName}!={testGroupInfo.ID.ExperienceName})"); } if (gInfo.Properties != testGroupInfo.Properties) { unequal.Add($"Properties ({gInfo.Properties}!={testGroupInfo.Properties})"); } if (gInfo.Owner != testGroupInfo.Owner) { unequal.Add($"Owner ({gInfo.Owner}!={testGroupInfo.Owner})"); } if (gInfo.Creator != testGroupInfo.Creator) { unequal.Add($"Creator ({gInfo.Owner}!={testGroupInfo.Owner})"); } if (gInfo.ID.ExperienceName != testGroupInfo.ID.ExperienceName) { unequal.Add($"Name ({gInfo.ID.ExperienceName}!={testGroupInfo.ID.ExperienceName})"); } if (gInfo.ID.HomeURI == null || testGroupInfo.ID.HomeURI == null || gInfo.ID.HomeURI.ToString() != testGroupInfo.ID.HomeURI.ToString()) { unequal.Add($"HomeURI ({gInfo.ID.HomeURI}!={testGroupInfo.ID.HomeURI})"); } if (gInfo.Description != testGroupInfo.Description) { unequal.Add($"Description ({gInfo.Description}!={testGroupInfo.Description})"); } if (gInfo.Group != testGroupInfo.Group) { unequal.Add($"Group ({gInfo.Group}!={testGroupInfo.Group})"); } if (gInfo.LogoID != testGroupInfo.LogoID) { unequal.Add($"LogoID ({gInfo.LogoID}!={testGroupInfo.LogoID})"); } if (gInfo.Marketplace != testGroupInfo.Marketplace) { unequal.Add($"Marketplace ({gInfo.Marketplace}!={testGroupInfo.Marketplace}"); } if (gInfo.SlUrl != testGroupInfo.SlUrl) { unequal.Add($"SlUrl ({gInfo.SlUrl}!={testGroupInfo.SlUrl})"); } if (unequal.Count != 0) { m_Log.InfoFormat("Equality not given! {0}", string.Join(" ", unequal)); } return(unequal.Count == 0); }
public override void Update(UUI requestingAgent, ExperienceInfo info) { var vals = new Dictionary <string, object>(); vals.Add("Name", info.Name); vals.Add("Description", info.Description); vals.Add("Properties", info.Properties); vals.Add("Owner", info.Owner); vals.Add("Group", info.Group); vals.Add("Maturity", info.Maturity); vals.Add("Marketplace", info.Marketplace); vals.Add("LogoID", info.LogoID); vals.Add("SlUrl", info.SlUrl); using (var conn = new MySqlConnection(m_ConnectionString)) { conn.Open(); conn.InsideTransaction((transaction) => { bool isallowed = false; using (var cmd = new MySqlCommand("SELECT Admin FROM experienceadmins WHERE ExperienceID = @experienceid AND Admin LIKE @admin", conn) { Transaction = transaction }) { cmd.Parameters.AddParameter("@experienceid", info.ID); cmd.Parameters.AddParameter("@admin", requestingAgent.ID.ToString() + "%"); using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { if (reader.GetUUI("Admin").EqualsGrid(requestingAgent)) { isallowed = true; } } } } if (!isallowed) { using (var cmd = new MySqlCommand("SELECT Owner FROM experiences WHERE ID = @id", conn) { Transaction = transaction }) { cmd.Parameters.AddParameter("@id", info.ID); using (MySqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { isallowed = reader.GetUUI("Owner").EqualsGrid(requestingAgent); } } } } if (!isallowed) { throw new InvalidOperationException("requesting agent is not allowed to edit experience"); } conn.UpdateSet("experiences", vals, "ID = \"" + info.ID.ToString() + "\"", transaction); }); } }