Пример #1
0
 public FBDataService(UrlGenerator urlGenerator, AuthService authService, JsonHelper jsonHelper, HttpClient httpClient)
 {
     this.urlGenerator = urlGenerator;
     this.authService = authService;
     this.jsonHelper = jsonHelper;
     this.httpClient = httpClient;
 }
 public override object GetResponse()
 {
     DoRequest();
     JsonHelper jsonHelper = new JsonHelper(mResponse);
     Debug.WriteLine(jsonHelper.GetVal("Result"));
     if (jsonHelper.GetVal("Result").ToLower() == "true")
         return true;
     return false;
 }
Пример #3
0
 /// <summary>
 /// 返回执行成功JSON字符串
 /// </summary>
 /// <returns></returns>
 public static string SuccessString(string info)
 {
     JsonHelper json = new JsonHelper();
     json.totlal = 0;
     json.success = true;
     json.AddItem("info", info);
     json.ItemOk();
     return json.ToString();
 }
        public void ItShouldConvertStringToObject()
        {
            JsonHelper instance = new JsonHelper();

            TestObject model = instance.ToObject<TestObject>(_json);

            Assert.IsNotNull(model);
            Assert.IsNotNull(model.Property);
            Assert.AreEqual(PropValue, model.Property);
        }
Пример #5
0
 /// <summary>
 /// 返回失败JSON,但是不包含:操作失败等字样;该方法比较干净,参数是什么就返回什么
 /// </summary>
 /// <param name="FailNotice"></param>
 /// <returns></returns>
 public static string FailStringNohaveOther(string FailNotice)
 {
     JsonHelper json = new JsonHelper();
     json.totlal = 0;
     json.success = false;
     FailNotice = Regex.Replace(FailNotice, @"\r\n", " ");
     json.AddItem("info", FailNotice.Replace("/", "").Replace("\"", "'"));
     json.ItemOk();
     return json.ToString();
 }
Пример #6
0
 /// <summary>
 /// 返回失败JSON字符串
 /// </summary>
 /// <param name="FailNotice"></param>
 /// <returns></returns>
 public static string FailString(string FailNotice)
 {
     JsonHelper json = new JsonHelper();
     json.totlal = 0;
     json.success = false;
     FailNotice = Regex.Replace(FailNotice, @"\r\n", " ");
     json.AddItem("info", NoticeEnum.GetEnumDesc(NoticeEnum.NOTICE.FAILSURE) + ",可能原因为:" + FailNotice.Replace("/", "").Replace("\"", "'"));
     json.ItemOk();
     return json.ToString();
 }
        public void ItShouldConvertObjectToString()
        {
            JsonHelper instance = new JsonHelper();
            TestObject model = new TestObject { Property = PropValue };

            string result = instance.ToJson<TestObject>(model);

            Assert.IsNotNull(result);
            Assert.AreEqual(_json, result);
        }
        public void UpdateModel(string json)
        {
            Items.Clear();

            var jsonArray = JsonValue.Parse(json) as JsonArray;

            if (jsonArray == null) return;

            var template = jsonArray[0] as JsonObject;

            if (template == null) return;

            var jsonHelper = new JsonHelper<CustomType>(template);

            foreach (var item in jsonArray)
            {
                var customType = new CustomType();

                jsonHelper.MapJsonObject(customType.SetPropertyValue, item);
                Items.Add(customType);
            }
        }
Пример #9
0
        static void Main(string[] args)
        {
            log4net.Config.BasicConfigurator.Configure();

            var options = new Options();
            var parseSuccess = CommandLine.Parser.Default.ParseArguments(args, options);
            if (parseSuccess)
            {
                var appState = new ApplicationState();
                var copier = new DeepCopier();
                var resxReader = new ResxReader(appState, null);
                var jsonHelper = new JsonHelper();
                var converter = new ResxToJsConverter(copier, resxReader, jsonHelper, appState, null);
                converter.Convert(options);
                DisplayErrorMessages(appState);
            }
            else
            {
                Console.WriteLine("An error occurred while parsing the options.");
            }

            ////Console.ReadLine();
        }
        /// <summary>
        /// 查询数据
        /// </summary>
        public ActionResult QueryBuyData()
        {
            int page = Request.Form["page"] != "" ? Convert.ToInt32(Request.Form["page"]) : 0;
            int size = Request.Form["rows"] != "" ? Convert.ToInt32(Request.Form["rows"]) : 0;
            string sort = Request.Form["sort"] != "" ? Request.Form["sort"] : "";
            string order = Request.Form["order"] != "" ? Request.Form["order"] : "";
            if (page < 1) return Content("");

            IList<BuyInfo> lstBuyInfos = BuyInfoDao.Instance.GetPageBuyInfos(page, size, null);
            JsonHelper json = new JsonHelper();
            string strJson = string.Empty;
            foreach (var item in lstBuyInfos)
            {
                json.AddItem("ID", item.ID.ToString());
                json.AddItem("Name", item.Name == null ? "" : item.Name);
                json.AddItem("Place", item.Place == null ? "" : item.Place);
                json.AddItem("Price", item.Price.ToString());
                json.AddItem("Product", item.Product.ToString());
                json.AddItem("SubTime", item.SubTime.ToString());
                json.AddItem("SitePath", item.SitePath == null ? "" : item.SitePath);
                json.AddItem("Tel", item.Tel == null ? "" : item.Tel.ToString());
                json.ItemOk();
            }
            int totalCount = BuyInfoDao.Instance.GetTotalCount(null);
            json.totlalCount = totalCount;
            if (json.totlalCount > 0)
            {
                strJson = json.ToEasyuiGridJsonString();
            }
            else
            {
                strJson = @"[]";
            }
            // json = "{ \"rows\":[ { \"ID\":\"48\",\"NewsTitle\":\"mr\",\"NewsContent\":\"mrsoft\",\"CreateTime\":\"2013-12-23\",\"CreateUser\":\"ceshi\",\"ModifyTime\":\"2013-12-23\",\"ModifyUser\":\"ceshi\"} ],\"total\":3}";
            return Content(strJson);
        }
        public object AddOrEdit([FromBody] Newtonsoft.Json.Linq.JArray form)
        {
            dynamic frequencySetup = form[0].ToObject <ExpandoObject>(JsonHelper.GetJsonSerializer());
            List <EntityParser.CustomField> customFields = form[1].ToObject <List <EntityParser.CustomField> >(JsonHelper.GetJsonSerializer());

            if (frequencySetup == null)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.MethodNotAllowed));
            }

            try
            {
                return(this.FrequencySetupRepository.AddOrEdit(frequencySetup, customFields));
            }
            catch (UnauthorizedException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));
            }
            catch (MixERPException ex)
            {
                throw new HttpResponseException(new HttpResponseMessage
                {
                    Content    = new StringContent(ex.Message),
                    StatusCode = HttpStatusCode.InternalServerError
                });
            }
            catch
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
        }
Пример #12
0
        public object AddOrEdit([FromBody] Newtonsoft.Json.Linq.JArray form)
        {
            dynamic user = form[0].ToObject <ExpandoObject>(JsonHelper.GetJsonSerializer());
            List <Frapid.DataAccess.Models.CustomField> customFields = form[1].ToObject <List <Frapid.DataAccess.Models.CustomField> >(JsonHelper.GetJsonSerializer());

            if (user == null)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.MethodNotAllowed));
            }

            try
            {
                return(this.UserRepository.AddOrEdit(user, customFields));
            }
            catch (UnauthorizedException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));
            }
            catch (DataAccessException ex)
            {
                throw new HttpResponseException(new HttpResponseMessage
                {
                    Content    = new StringContent(ex.Message),
                    StatusCode = HttpStatusCode.InternalServerError
                });
            }
#if !DEBUG
            catch
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
#endif
        }
        protected override void BeforeSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew)
        {
            var entity = this.GetEntityByID(dic["ID"]);

            if (entity == null)
            {
                entity = new T_SC_SchemeForm_OEM_Szsow();
            }
            var sublist = JsonHelper.ToList(dic.GetValue("SubProjectList"));

            foreach (var item in sublist)
            {
                if (String.IsNullOrEmpty(item.GetValue("Code")))
                {
                    item.SetValue("Code", FormulaHelper.CreateGuid());
                }
            }

            var    phaseEnums = EnumBaseHelper.GetEnumDef("Project.Phase").EnumItem.ToList();
            string phaseExistError = string.Empty, phaseRepeatError = string.Empty, phaseStructError = string.Empty;
            string phaseError = string.Empty;

            #region 阶段校验
            //校验项目阶段必须在子项信息子表中的设计阶段出现
            //校验阶段+名称不能重复
            //不支持阶段下既有子项、又有专业的情况
            var projPhaseArr = dic.GetValue("PhaseValue").Split(',');
            foreach (var projPhase in projPhaseArr)
            {
                //校验项目阶段必须在子项信息子表中的设计阶段出现
                if (!sublist.Any(a => a.GetValue("PhaseValue") == projPhase))
                {
                    phaseExistError += projPhase + ",";
                }
                var list = sublist.Where(a => a.GetValue("PhaseValue") == projPhase).ToList();
                //校验阶段+名称不能重复
                phaseRepeatError = string.Empty;
                var group = list.GroupBy(a => a.GetValue("Name")).ToList();
                foreach (var item in group)
                {
                    if (item.Count() > 1)
                    {
                        phaseRepeatError += "阶段【" + phaseEnums.FirstOrDefault(a => a.Code == projPhase).Name + "】下子项【" + item.Key + "】不能重复。</br>";
                    }
                }
                if (!string.IsNullOrEmpty(phaseRepeatError))
                {
                    phaseError += phaseRepeatError;
                }
                //不支持阶段下既有子项、又有专业的情况
                phaseStructError = string.Empty;
                if (group.Any(a => string.IsNullOrEmpty(a.Key)) && group.Any(a => !string.IsNullOrEmpty(a.Key)))
                {
                    phaseStructError += "阶段【" + phaseEnums.FirstOrDefault(a => a.Code == projPhase).Name + "】下不能同时子项为空和子项不为空的数据。</br>";
                }
                if (!string.IsNullOrEmpty(phaseStructError))
                {
                    phaseError += phaseStructError;
                }
            }
            if (!string.IsNullOrEmpty(phaseExistError))
            {
                phaseExistError = String.Join(",", phaseEnums.Where(d => phaseExistError.TrimEnd(',').Split(',').Contains(d.Code)).Select(d => d.Name));
                phaseError     += "必须在子项信息中添加阶段【" + phaseExistError + "】的数据。</br>";
            }
            if (!string.IsNullOrEmpty(phaseError))
            {
                throw new Formula.Exceptions.BusinessException(phaseError);
            }
            #endregion

            if (dic.ContainsKey("SubProjectList"))
            {
                dic.SetValue("SubProjectList", JsonHelper.ToJson(sublist));
            }

            this.UpdateEntity(entity, dic);

            #region 校验整体专业
            #region 校验成果
            string sql = @"select distinct MajorValue, S_W_WBS.Name MajorName from S_E_Product p
left join S_W_WBS on p.WBSID = S_W_WBS.ID 
where p.ProjectInfoID='{0}' and MajorValue not in ('{1}')";
            sql = string.Format(sql, entity.ProjectInfoID, entity.Major.Replace(",", "','"));
            var dt = this.ProjectSQLDB.ExecuteDataTable(sql);
            if (dt.Rows.Count > 0)
            {
                var msgMajor = "";
                foreach (DataRow item in dt.Rows)
                {
                    msgMajor += item["MajorName"].ToString() + ",";
                }
                throw new Formula.Exceptions.BusinessException("专业【" + msgMajor.TrimEnd(',') + "】已经上传了设计成果,必须选中。");
            }
            #endregion

            #region 校验提资单
            var sqlPutInfo = @"select distinct OutMajorValue, S_W_WBS.Name MajorName from T_EXE_MajorPutInfo p
left join S_W_WBS on p.WBSID = S_W_WBS.ParentID and p.OutMajorValue = S_W_WBS.WBSValue 
where p.ProjectInfoID='{0}' and OutMajorValue not in ('{1}')";
            sqlPutInfo = string.Format(sqlPutInfo, entity.ProjectInfoID, entity.Major.Replace(",", "','"));
            var dtPutInfo = this.ProjectSQLDB.ExecuteDataTable(sqlPutInfo);
            if (dtPutInfo.Rows.Count > 0)
            {
                var msgMajor = "";
                foreach (DataRow item in dtPutInfo.Rows)
                {
                    msgMajor += item["MajorName"].ToString() + ",";
                }
                throw new Formula.Exceptions.BusinessException("专业【" + msgMajor.TrimEnd(',') + "】发起过提资,必须选中。");
            }
            #endregion

            #region 校验共享区
            var sqlShareInfo = @"select distinct p.WBSValue, S_W_WBS.Name MajorName from S_D_ShareInfo p
left join S_W_WBS on p.SubProjectWBSID = S_W_WBS.ParentID and p.WBSValue = S_W_WBS.WBSValue 
where p.ProjectInfoID='{0}' and p.WBSValue not in ('{1}')";
            sqlShareInfo = string.Format(sqlShareInfo, entity.ProjectInfoID, entity.Major.Replace(",", "','"));
            var dtShareInfo = this.ProjectSQLDB.ExecuteDataTable(sqlShareInfo);
            if (dtShareInfo.Rows.Count > 0)
            {
                var msgMajor = "";
                foreach (DataRow item in dtShareInfo.Rows)
                {
                    msgMajor += item["MajorName"].ToString() + ",";
                }
                throw new Formula.Exceptions.BusinessException("专业【" + msgMajor.TrimEnd(',') + "】拥有共享区文件,必须选中。");
            }
            #endregion

            #region 校验专业里程碑
            string        finishState       = ProjectCommoneState.Finish.ToString();
            var           finishMileStones  = this.BusinessEntities.Set <S_P_MileStone>().Where(a => a.ProjectInfoID == entity.ProjectInfoID && a.State == finishState).ToList();
            List <string> msgMileStoneMajor = new List <string>();
            foreach (var item in finishMileStones)
            {
                if (string.IsNullOrEmpty(item.MajorValue) && string.IsNullOrEmpty(item.OutMajorValue))
                {
                    continue;
                }
                if (!entity.Major.Split(',').Contains(item.MajorValue))
                {
                    if (!msgMileStoneMajor.Contains(item.MajorValue))
                    {
                        msgMileStoneMajor.Add(item.MajorValue);
                    }
                }
                if (!string.IsNullOrEmpty(item.OutMajorValue))
                {
                    foreach (var _oMajorValue in item.OutMajorValue.Split(','))
                    {
                        if (string.IsNullOrEmpty(_oMajorValue))
                        {
                            continue;
                        }
                        if (!entity.Major.Split(',').Contains(_oMajorValue))
                        {
                            if (!msgMileStoneMajor.Contains(_oMajorValue))
                            {
                                msgMileStoneMajor.Add(_oMajorValue);
                            }
                        }
                    }
                }
            }
            if (msgMileStoneMajor.Count > 0)
            {
                var enmDef = EnumBaseHelper.GetEnumDef("Project.Major");
                throw new Formula.Exceptions.BusinessException("专业【" + String.Join(",", enmDef.EnumItem.Where(d => msgMileStoneMajor.Contains(d.Code)).Select(d => d.Name)) + "】已经有相关里程碑完成,必须选中。");
            }
            #endregion
            #endregion

            #region 校验子项
            //sll edit 2018-8-8
            //没有Name也视为要删除项
            //before  var newsubid = sublist.Select(t => t.GetValue("Code"));
            var newsubid       = sublist.Where(a => !string.IsNullOrEmpty(a.GetValue("Name"))).Select(t => t.GetValue("Code"));
            var enumSubProject = WBSNodeType.SubProject.ToString();
            var wbsList        = this.BusinessEntities.Set <S_W_WBS>().Where(a => a.ProjectInfoID == entity.ProjectInfoID).ToList();
            var subWBSList     = wbsList.Where(a => a.WBSType == enumSubProject).ToList();
            #region 校验成果
            subWBSList
            .Where(w => !newsubid.Contains(w.WBSValue))
            .ToList()
            .ForEach(t =>
            {
                if (t.HasProducts())
                {
                    throw new Formula.Exceptions.BusinessException("子项【" + t.Name + "】已经有成果图纸,不能删除。");
                }
            });
            #endregion

            var WBSIDList = wbsList.Where(a => newsubid.Contains(a.WBSValue)).Select(a => a.ID).ToList();
            #region 校验提资单
            var putInfoList = this.BusinessEntities.Set <T_EXE_MajorPutInfo>().Where(a => a.ProjectInfoID == entity.ProjectInfoID).ToList();
            var hasPutInfo  = putInfoList.Where(a => !WBSIDList.Contains(a.WBSID)).ToList();
            if (hasPutInfo.Count > 0)
            {
                var name = "";
                for (int i = 0; i < hasPutInfo.Count; i++)
                {
                    var pInfo = hasPutInfo[i];
                    if (!string.IsNullOrEmpty(pInfo.WBSID))
                    {
                        var _wbs = wbsList.FirstOrDefault(a => a.ID == pInfo.WBSID);
                        if (_wbs != null)
                        {
                            var subNode = subWBSList.FirstOrDefault(a => _wbs.FullID.Split('.').Contains(a.ID));
                            if (subNode != null)
                            {
                                name += subNode.Name + ",";
                            }
                        }
                    }
                }
                throw new Formula.Exceptions.BusinessException("子项【" + name.TrimEnd(',') + "】发起过提资,不能删除。");
            }
            #endregion

            #region 校验共享区
            var shareInfoList = this.BusinessEntities.Set <S_D_ShareInfo>().Where(a => a.ProjectInfoID == entity.ProjectInfoID).ToList();
            var hasShareInfo  = shareInfoList.Where(a => !WBSIDList.Contains(a.SubProjectWBSID)).ToList();
            if (hasShareInfo.Count > 0)
            {
                var name = "";
                for (int i = 0; i < hasShareInfo.Count; i++)
                {
                    var sInfo = hasShareInfo[i];
                    if (!string.IsNullOrEmpty(sInfo.SubProjectWBSID))
                    {
                        var _wbs = wbsList.FirstOrDefault(a => a.ID == sInfo.SubProjectWBSID);
                        if (_wbs != null)
                        {
                            var subNode = subWBSList.FirstOrDefault(a => _wbs.FullID.Split('.').Contains(a.ID));
                            if (subNode != null)
                            {
                                name += subNode.Name + ",";
                            }
                        }
                    }
                }
                throw new Formula.Exceptions.BusinessException("子项【" + name.TrimEnd(',') + "】拥有共享区文件,不能删除。");
            }
            #endregion
            #endregion

            #region 校验子项下的专业
            foreach (var subProject in sublist)
            {
                if (!String.IsNullOrEmpty(subProject.GetValue("RBSJson")))
                {
                    var rbsList = JsonHelper.ToList(subProject.GetValue("RBSJson"));


                    //sll add 2018-8-8
                    var    subProjectWBSValue = "";
                    string errorExceptionPre  = "";
                    //名称不为空,专业挂子项
                    if (!string.IsNullOrEmpty(subProject.GetValue("Name")))
                    {
                        subProjectWBSValue = subProject.GetValue("Code");
                        errorExceptionPre  = "子项";
                    }
                    //名称为空, 专业挂阶段
                    else
                    {
                        subProjectWBSValue = subProject.GetValue("PhaseValue");
                        errorExceptionPre  = "专业";
                    }


                    foreach (var majorNode in rbsList)
                    {
                        if (majorNode.GetValue("Valid") == "0")
                        {
                            var subProjectWBSNode = wbsList.FirstOrDefault(a => a.WBSValue == subProjectWBSValue);

                            //sll 2018-8-9 add
                            //子项名称为空到有名称后但是wbs中没有该子项节点,此时略过不需要判断
                            if (subProjectWBSNode == null)
                            {
                                continue;
                            }

                            var code = majorNode.GetValue("MajorCode");
                            #region 校验成果
                            wbsList
                            .Where(w => w.ParentID == subProjectWBSNode.ID && w.WBSValue == code)
                            .ToList().ForEach(t =>
                            {
                                if (t.HasProducts())
                                {
                                    throw new Formula.Exceptions.BusinessException(errorExceptionPre + "【" + subProject.GetValue("Name") + "】下的专业【" + t.Name + "】已经有成果图纸,不能删除。");
                                }
                            });
                            #endregion

                            #region 校验提资单
                            var hasPutInfo2 = putInfoList.Where(a => a.WBSID == subProjectWBSNode.ID && a.OutMajorValue == code).ToList();
                            if (hasPutInfo2.Count > 0)
                            {
                                throw new Formula.Exceptions.BusinessException(errorExceptionPre + "【" + subProject.GetValue("Name") + "】下的专业【" + majorNode.GetValue("MajorName") + "】发起过提资,不能删除。");
                            }
                            #endregion

                            #region 校验共享区
                            var hasShareInfo2 = shareInfoList.Where(a => a.SubProjectWBSID == subProjectWBSNode.ID && a.WBSValue == code).ToList();
                            if (hasShareInfo2.Count > 0)
                            {
                                throw new Formula.Exceptions.BusinessException(errorExceptionPre + "【" + subProject.GetValue("Name") + "】下的专业【" + majorNode.GetValue("MajorName") + "】拥有共享区文件,不能删除。");
                            }
                            #endregion

                            #region 校验专业里程碑
                            if (finishMileStones.Exists(a => a.WBSID == subProjectWBSNode.ID && (
                                                            (!string.IsNullOrEmpty(a.MajorValue) && a.MajorValue == code) ||
                                                            (!string.IsNullOrEmpty(a.OutMajorValue) && a.OutMajorValue.Split(',').Contains(code))
                                                            )))
                            {
                                throw new Formula.Exceptions.BusinessException(errorExceptionPre + "【" + subProject.GetValue("Name") + "】下的专业【" + majorNode.GetValue("MajorName") + "】已经有相关里程碑完成,不能删除。");
                            }
                            #endregion
                        }
                    }
                }
            }
            #endregion
        }
        protected WhereConditon ListWhereSql(ListCondition condition)
        {
            WhereConditon wcd = new WhereConditon();

            wcd.DBPara = new Dictionary <string, object>();
            EntryModel model = JsonHelper.Deserialize <EntryModel>(condition.ListModelString);

            if (model == null)
            {
                return(wcd);
            }
            if (DataConvert.ToString(model.AssetsScrapNo) != "")
            {
                wcd.Sql += @" and AssetsScrap.assetsScrapNo  like '%'+@assetsScrapNo+'%'";
                wcd.DBPara.Add("assetsScrapNo", model.AssetsScrapNo);
            }
            if (DataConvert.ToString(model.AssetsScrapName) != "")
            {
                wcd.Sql += @" and AssetsScrap.assetsScrapName  like '%'+@assetsScrapName+'%'";
                wcd.DBPara.Add("assetsScrapName", model.AssetsScrapName);
            }
            if (DataConvert.ToString(model.AssetsNo) != "")
            {
                wcd.Sql += @" and Assets.assetsNo  like '%'+@assetsNo+'%'";
                wcd.DBPara.Add("assetsNo", model.AssetsNo);
            }
            if (DataConvert.ToString(model.AssetsName) != "")
            {
                wcd.Sql += @" and Assets.assetsName  like '%'+@assetsName+'%'";
                wcd.DBPara.Add("assetsName", model.AssetsName);
            }
            if (DataConvert.ToString(model.AssetsTypeId) != "")
            {
                wcd.Sql += @" and Assets.assetsTypeId  like '%'+@assetsTypeId+'%'";
                wcd.DBPara.Add("assetsTypeId", model.AssetsTypeId);
            }
            if (DataConvert.ToString(model.ScrapTypeId) != "")
            {
                wcd.Sql += @" and AssetsScrapDetail.scrapTypeId  like '%'+@scrapTypeId+'%'";
                wcd.DBPara.Add("scrapTypeId", model.ScrapTypeId);
            }
            if (DataConvert.ToString(model.AssetsClassId) != "")
            {
                wcd.Sql += @" and  Assets.assetsClassId  like '%'+@assetsClassId+'%'";
                wcd.DBPara.Add("assetsClassId", model.AssetsClassId);
            }
            if (DataConvert.ToString(model.DepartmentId) != "")
            {
                wcd.Sql += @" and Assets.departmentId  like '%'+@departmentId+'%'";
                wcd.DBPara.Add("departmentId", model.DepartmentId);
            }
            if (DataConvert.ToString(model.ScrapDate1) != "")
            {
                wcd.Sql += @" and AssetsScrapDetail.scrapDate>=@scrapDate1";
                wcd.DBPara.Add("scrapDate1", DataConvert.ToString(model.ScrapDate1) + " 00:00:00");
            }
            if (DataConvert.ToString(model.ScrapDate2) != "")
            {
                wcd.Sql += @" and AssetsScrapDetail.scrapDate<=@scrapDate2";
                wcd.DBPara.Add("scrapDate2", DataConvert.ToString(model.ScrapDate2) + " 23:59:59");
            }
            return(wcd);
        }
        private void ProcurementRegister_Load(object sender, EventArgs e)
        {
            string jsoni = JsonHelper.loadProjectInfo(Settings.Default.Username);
            List <ProjectModel> projectListModel = JsonConvert.DeserializeObject <List <ProjectModel> >(jsoni);

            projectModel = projectModel.getProjectModel(Settings.Default.ProjectID, projectListModel);
            txtProcurementRegisterProjectName.Text = projectModel.ProjectName;
            txtProjectManagerName.Text             = projectModel.ProjectManager;
            txtProcurementManager.Text             = projectModel.ProcurementManager;


            dgvProcurementRegister.Columns.Add("colPO", "PO #");
            dgvProcurementRegister.Columns.Add("colItemTitle", "Item Title");
            dgvProcurementRegister.Columns.Add("colItemDesc", "Item Description");
            dgvProcurementRegister.Columns.Add("colQuantity", "Quantity");
            dgvProcurementRegister.Columns.Add("colUnitPrice", "Unit Price");
            dgvProcurementRegister.Columns.Add("colTotalPrice", "Total Price");
            dgvProcurementRegister.Columns.Add("colReqByDate", "Required By Date");
            dgvProcurementRegister.Columns.Add("colCompany", "Company");
            dgvProcurementRegister.Columns.Add("colContactName", "Contact Name");
            dgvProcurementRegister.Columns.Add("colContactPhNo", "Contact Ph. NO.");
            dgvProcurementRegister.Columns.Add("colPOStatus", "PO Status");
            dgvProcurementRegister.Columns.Add("colPODate", "PO Date");
            dgvProcurementRegister.Columns.Add("colDeliveryStatus", "Delivery Status");
            dgvProcurementRegister.Columns.Add("colDeliveryDate", "Delivery Date");
            dgvProcurementRegister.Columns.Add("colPaymentMethod", "Payment Method");
            dgvProcurementRegister.Columns.Add("colPaymentStatus", "Payment Status");
            dgvProcurementRegister.Columns.Add("colPaymentDate", "Payment Date");

            string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "ProcurementRegister");

            newProcurementRegisterModel     = new ProcurementRegisterModel();
            currentProcurementRegisterModel = new ProcurementRegisterModel();

            if (json != "")
            {
                versionControl = JsonConvert.DeserializeObject <VersionControl <ProcurementRegisterModel> >(json);
                newProcurementRegisterModel     = JsonConvert.DeserializeObject <ProcurementRegisterModel>(versionControl.getLatest(versionControl.DocumentModels));
                currentProcurementRegisterModel = JsonConvert.DeserializeObject <ProcurementRegisterModel>(versionControl.getLatest(versionControl.DocumentModels));

                txtProjectManagerName.Text             = currentProcurementRegisterModel.ProjectManagerName;
                txtProcurementRegisterProjectName.Text = currentProcurementRegisterModel.ProjectName;
                txtProcurementManager.Text             = currentProcurementRegisterModel.ProcurementManagerName;

                foreach (var row in currentProcurementRegisterModel.procurementEntries)
                {
                    dgvProcurementRegister.Rows.Add(new string[] { row.PO_Number.ToString(),
                                                                   row.ItemTitle,
                                                                   row.ItemDescription,
                                                                   row.Quantity.ToString(),
                                                                   row.UnitPrice.ToString(),
                                                                   row.TotalPrice.ToString(),
                                                                   row.RequiredByDate,
                                                                   row.Company,
                                                                   row.ContactName,
                                                                   row.ContactPhoneNumber,
                                                                   row.PO_Status,
                                                                   row.PO_Date,
                                                                   row.DeliveryStatus,
                                                                   row.DeliveryDate,
                                                                   row.PaymentMethod,
                                                                   row.PaymentStatus,
                                                                   row.PaymentDate });
                }
            }
            else
            {
                versionControl = new VersionControl <ProcurementRegisterModel>();
                versionControl.DocumentModels = new List <VersionControl <ProcurementRegisterModel> .DocumentModel>();
            }
        }
Пример #16
0
        /// <summary>
        /// 获取分页数据
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="columns">要取的列名(逗号分开)</param>
        /// <param name="order">排序</param>
        /// <param name="pageSize">每页大小</param>
        /// <param name="pageIndex">当前页</param>
        /// <param name="where">查询条件</param>
        /// <param name="totalCount">总记录数</param>
        public string GetPager(string tableName, string columns, string order, int pageSize, int pageIndex, string where, out int totalCount)
        {
            DataTable dt = SqlPagerHelper.GetPager(tableName, columns, order, pageSize, pageIndex, where, out totalCount);

            return(JsonHelper.ToJson(dt));
        }
        public int Compare(MonthlyReportDetail x, MonthlyReportDetail y)
        {
            if (x == null)
            {
                return(1);
            }
            if (y == null)
            {
                return(-1);
            }

            if (x.CompanyProperty1 != "筹备门店" && y.CompanyProperty1 != "筹备门店")
            {
                //完成和未完成对比
                if ((x.IsMissTarget && !y.IsMissTarget) || (x.NAccumulativeDifference < 0 && y.NAccumulativeDifference >= 0))
                {
                    return(1);
                }
                if ((!x.IsMissTarget && y.IsMissTarget) || (x.NAccumulativeDifference >= 0 && y.NAccumulativeDifference < 0))
                {
                    return(-1);
                }
            }

            if (string.IsNullOrEmpty(x.NAccumulativeActualRate))
            {
                return(1);
            }
            if (string.IsNullOrEmpty(y.NAccumulativeActualRate))
            {
                return(-1);
            }

            //计划实际均为0的显示排序
            if (x.NAccumulativePlanAmmount == 0 && x.NAccumulativeActualAmmount == 0)
            {
                return(-1);
            }
            if (y.NAccumulativePlanAmmount == 0 && y.NAccumulativeActualAmmount == 0)
            {
                return(1);
            }


            ActualRate tx = JsonHelper.Deserialize <ActualRate>(x.NAccumulativeActualRate);
            ActualRate ty = JsonHelper.Deserialize <ActualRate>(y.NAccumulativeActualRate);

            //这里RateType=1 :数字, RateType =2 :增亏,减亏 RateType=3:超计划

            if (tx.RateType > ty.RateType)  //增亏 ,减亏,超计划
            {
                return(1);
            }
            if (tx.RateType == ty.RateType)  //当类型相同时,这里特殊处理增亏,减亏
            {
                if (tx.Rate < ty.Rate)
                {
                    if (tx.RateType != 1 && x.IsMissTarget)
                    {
                        return(-1);
                    }//筹备门店的单独算法 Update 2015-5-14 Start
                    else if (tx.RateType != 1 && x.IsMissTarget == false)
                    {
                        if (x.NAccumulativeDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(-1);
                        }
                        else
                        {
                            return(1);
                        }
                    }
                    //筹备门店的单独算法 Update 2015-5-14 End
                    return(1);
                }
                else if (tx.Rate == ty.Rate)
                {
                    if (x.NAccumulativeActualAmmount < y.NAccumulativeActualAmmount)
                    {
                        return(1);
                    }
                    else if (x.NAccumulativeActualAmmount == y.NAccumulativeActualAmmount)
                    {
                        return(0);
                    }
                    else
                    {
                        return(-1);
                    }
                }
                else
                {
                    if (tx.RateType != 1 && x.IsMissTarget)
                    {
                        return(1);
                    }//筹备门店的单独算法 Update 2015-5-14 Start
                    else if (tx.RateType != 1 && x.IsMissTarget == false)
                    {
                        if (x.NAccumulativeDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(1);
                        }
                        else
                        {
                            return(-1);
                        }
                    }//筹备门店的单独算法 Update 2015-5-14 End
                    return(-1);
                }
            }
            else
            {
                return(-1);
            }
        }
Пример #18
0
 private void Login(string email, string pass)
 {
     _jsonHelper = new JsonHelper<object>();
     _cometProcessor = new CometClientProcessor();
     _playerService = new PlayerService();
     Player player = new Player();
     player.password = pass;
     player.email = email;
     _playerService = new PlayerService();
     if (_playerService.Verify(player))
     {
         player = _playerService.FindByEmail(LoginEmail.Text);
         // Create  Cookie
         HttpCookie time = new HttpCookie("LastLogined", DateTime.Now.ToString());
         HttpCookie userEmail = new HttpCookie("userEMail", player.email);
         HttpCookie userId = new HttpCookie("userId", player.id.ToString());
         time.Expires = DateTime.Now.AddDays(1);
         userEmail.Expires = DateTime.Now.AddDays(1);
         HttpContext.Current.Response.Cookies.Add(time);
         HttpContext.Current.Response.Cookies.Add(userEmail);
         HttpContext.Current.Response.Cookies.Add(userId);
         HttpContext.Current.Session["Email"] = player.email;
         HttpContext.Current.Session["Username"] = player.username;
         Response.Redirect("Games.aspx"); //if true - so code after this not working - its abort the thread
     }
     else
     {
         string message = "<div class='alert alert-warning'>This email and password not found,Please register or try again</div>";
         Alert.Text = message;
     }
 }
Пример #19
0
        /// <summary>
        /// 烘烤数据上传
        /// </summary>
        /// <param name="clamps"></param>
        /// <returns></returns>
        public static void UploadBatteryInfo(List <Clamp> clamps)
        {
            for (int i = 0; i < clamps.Count; i++)
            {
                var clamp   = clamps[i];
                var station = Station.StationList.FirstOrDefault(s => s.Id == clamp.OvenStationId);
                if (station.GetPutType != GetPutType.烤箱)
                {
                    clamp.IsUploaded = true;
                    LogHelper.WriteError(string.Format("异常,ID为{0}的夹具所属烤箱工位为:", clamp.Id, station.Name));
                    break;
                }
                var floor = station.GetFloor();
                var oven  = floor.GetOven();
                try
                {
                    var allIsPass = true;
                    for (int x = 0; x < clamp.Batteries.Count; x++)
                    {
                        var battery = clamp.Batteries[x];
                        if (!battery.Code.Contains("0000000000"))//样品电池数据不上传
                        {
                            var data = new BakingMesData()
                            {
                                Barcode     = battery.Code,
                                TrayNo      = clamp.CompleteCode,
                                StartTime   = clamp.BakingStartTime.ToString("yyyy/MM/dd HH:mm:ss"),
                                EndTime     = clamp.BakingStopTime.ToString("yyyy/MM/dd HH:mm:ss"),
                                Temperature = clamp.Temperature,
                                Vacuum      = clamp.Vacuum,
                                MachineCode = station.Number
                            };
                            var info   = JsonHelper.SerializeObject(data);
                            var result = wsProxy.UploadBakingData(info);
                            if (result.ResultCode == 0)
                            {
                                //LogHelper.WriteInfo(string.Format("上传mes成功,参数:{0}", info));
                            }
                            else
                            {
                                if (!result.ResultMsg.Contains("长度不是35或24"))
                                {
                                    allIsPass = false;
                                }
                                LogHelper.WriteError(string.Format("上传mes失败,参数:{0} 原因:{1}", info, result.ResultMsg));
                            }
                        }
                    }

                    if (allIsPass)
                    {
                        clamp.IsUploaded = true;
                        LogHelper.WriteInfo(string.Format("上传mes成功,clamp.Id:{0}", clamp.Id));
                    }
                    //{"Barcode":"36ANCCB23140160N18E01C18E04H1000784","MachineCode":"BK02-04-01","TrayNo":"","StartTime":"2019\/6\/21 14:19:12","EndTime":"2019\/6\/21 14:19:12","Temperature":92.3,"Vacuum":12.3}
                }
                catch (System.Exception ex)
                {
                    LogHelper.WriteError(ex);
                }
            }
        }
Пример #20
0
        private M_Product FillProductModel(ref DataTable table, M_Product proMod = null)
        {
            if (proMod == null)
            {
                proMod = new M_Product();
            }
            //DataTable gpdt = gpBll.GetGroupList();
            /*--------------proMod------------*/
            if (proMod.ID < 1)
            {
                proMod.Nodeid      = NodeID;
                proMod.FirstNodeID = nodeBll.SelFirstNodeID(proMod.Nodeid);
                proMod.ModelID     = ModelID;
                proMod.TableName   = modBll.SelReturnModel(ModelID).TableName;
                proMod.AddUser     = mu.UserName;
                proMod.UserID      = mu.UserID;
            }
            DataTable dt = fieldBll.GetModelFieldList(proMod.ModelID);

            table = Call.GetDTFromMVC(dt, Request);
            //-------------------------------------------
            proMod.ProCode      = RequestEx["ProCode"];
            proMod.BarCode      = RequestEx["BarCode"];
            proMod.Proname      = RequestEx["Proname"];
            proMod.ShortProName = RequestEx["ShortProName"];
            proMod.Kayword      = RequestEx["tabinput"];
            keyBll.AddKeyWord(proMod.Kayword, 1);
            proMod.ProUnit     = RequestEx["ProUnit"];
            proMod.AllClickNum = DataConverter.CLng(RequestEx["AllClickNum"]);
            proMod.Weight      = DataConvert.CDouble(RequestEx["Weight_T"]);
            proMod.ProClass    = DataConverter.CLng(RequestEx["proclass_rad"]);
            proMod.IDCPrice    = RequestEx["IDC_Hid"];
            proMod.PointVal    = DataConverter.CLng(RequestEx["PointVal_T"]);
            proMod.Proinfo     = RequestEx["Proinfo"];
            proMod.Procontent  = RequestEx["Procontent"];
            proMod.Clearimg    = RequestEx["txt_Clearimg"];
            proMod.Thumbnails  = RequestEx["txt_Thumbnails"];
            //proMod.Producer = RequestEx["Producer"];
            //proMod.Brand = RequestEx["Brand"];
            //proMod.Quota = DataConverter.CLng(Quota.Text);
            //proMod.DownQuota = DataConverter.CLng(DownQuota.Text);
            proMod.StockDown = DataConverter.CLng(RequestEx["StockDown"]);
            proMod.Rate      = DataConverter.CDouble(RequestEx["Rate"]);
            proMod.Rateset   = DataConverter.CLng(RequestEx["Rateset"]);
            proMod.Dengji    = DataConverter.CLng(RequestEx["Dengji"]);
            proMod.ShiPrice  = DataConverter.CDouble(RequestEx["ShiPrice"]);
            proMod.LinPrice  = DataConverter.CDouble(RequestEx["LinPrice"]);
            //proMod.Preset = (OtherProject.SelectedValue == null) ? "" : OtherProject.SelectedValue;  //促销
            //proMod.Integral = DataConverter.CLng(Integral.Text);
            //proMod.Propeid = DataConverter.CLng(Propeid.Text);
            proMod.Recommend = DataConverter.CLng(RequestEx["Recommend"]);
            //proMod.Largesspirx = DataConverter.CLng(Largesspirx.Text);
            proMod.Largess = DataConvert.CLng(RequestEx["Largess"]);
            //更新时间,若没有指定则为当前时间
            proMod.UpdateTime   = DataConverter.CDate(RequestEx["UpdateTime"]);
            proMod.AddTime      = DataConverter.CDate(RequestEx["AddTime"]);
            proMod.ModeTemplate = RequestEx["ModeTemplate_hid"];
            //proMod.bookDay = DataConverter.CLng(BookDay_T.Text);
            proMod.BookPrice = DataConverter.CDouble(RequestEx["BookPrice"]);
            proMod.FarePrice = RequestEx["FareTlp_Rad"];
            //proMod.UserShopID = DataConvert.CLng(RequestEx["UserShopID"]);//店铺页面应该禁止此项
            proMod.UserType  = DataConverter.CLng(RequestEx["UserPrice_Rad"]);
            proMod.Quota     = DataConvert.CLng(RequestEx["Quota_Rad"]);
            proMod.DownQuota = DataConvert.CLng(RequestEx["DownQuota_Rad"]);
            switch (proMod.UserType)
            {
            case 1:
                proMod.UserPrice = RequestEx["UserPrice"];
                break;

            case 2:
                proMod.UserPrice = RequestEx["Price_Group_Hid"];
                break;
            }
            switch (proMod.Quota)
            {
            case 0:
                break;

            case 2:
                proMod.Quota_Json = RequestEx["Quota_Group_Hid"];
                break;
            }
            switch (proMod.DownQuota)
            {
            case 0:
                break;

            case 2:
                proMod.DownQuota_Json = RequestEx["DownQuota_Group_Hid"];
                break;
            }
            proMod.Sales          = DataConverter.CLng(RequestEx["Sales_Chk"]);
            proMod.Istrue         = DataConverter.CLng(RequestEx["istrue_chk"]);
            proMod.Ishot          = DataConverter.CLng(RequestEx["ishot_chk"]);
            proMod.Isnew          = DataConverter.CLng(RequestEx["isnew_chk"]);
            proMod.Isbest         = DataConverter.CLng(RequestEx["isbest_chk"]);
            proMod.Allowed        = DataConverter.CLng(RequestEx["Allowed"]);
            proMod.GuessXML       = RequestEx["GuessXML"];
            proMod.Wholesalesinfo = RequestEx["ChildPro_Hid"];
            proMod.DownCar        = DataConvert.CLng(RequestEx["DownCar"]);
            ////捆绑商品
            if (!string.IsNullOrEmpty(RequestEx["Bind_Hid"]))
            {
                //获取绑定商品
                DataTable binddt = JsonHelper.JsonToDT(RequestEx["Bind_Hid"]);
                proMod.BindIDS = StrHelper.GetIDSFromDT(binddt, "ID");
            }
            else
            {
                proMod.BindIDS = "";
            }
            return(proMod);
        }
 public static TaskDTO[] GetAllTasksSuccess()
 {
     //_responder = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Responder>();
     //_responder.Request("get_all_task_success", "");
     return(JsonHelper.GetArrayFromJson <TaskDTO>(_responder.Responce));
 }
        /// <summary>
        /// 根据用户编号,查询该用户信息
        /// </summary>
        /// <param name="uid">用户编号</param>
        /// <returns></returns>
        public string GetUserModelByUserId(int uid)
        {
            sys_UsersModel userModel = sys_UserDAL.GetUsersModelByUserId(uid);

            return(JsonHelper.ToJson(userModel));
        }
Пример #23
0
 public string GetO()
 {
     string opennode = Request["node"];
     int pid = 0;//int.Parse(Request["id"].ToString());
     List<AutekInfo.Model.Emp_Dept> list = new AutekInfo.BLL.Emp_Dept().GetModelList("").OrderBy(dept => dept.dept_order).ThenBy(dept => dept.dept_name).ToList();
     JsonHelper js = new JsonHelper();
     string json = new JsonHelper().GetOcharTree<AutekInfo.Model.Emp_Dept>(list, "dept_id", "dept_pid", "dept_name", pid);
     if (!String.IsNullOrEmpty(opennode))
     {
         json=json.Replace("\"text\":\"公司\",\"state\":\"open\"", "\"text\":\"公司\",\"state\":\"open\"");
     }
     return json;
 }
        private void CheckTables(string jsonText)
        {
            if (string.IsNullOrEmpty(jsonText))
            {
                ShowMessage($"版本{this.EndVersion}的初始化json文件不存在,不执行数据库校验...");
                ShowMessage("升级已经完成,请留意观察JieLink中心使用是否正常...");
                return;
            }

            StringBuilder exceptMessage = new StringBuilder();


            DBVersionScript script = JsonHelper.DeserializeObject <DBVersionScript>(jsonText);

            foreach (var table in script.TableList)
            {
                if (table.Type == 1)
                {
                    ShowMessage($"正在校验{table.TableName}表...");

                    if (TableIsExists(table.TableName))
                    {
                        Table dbTable = GetTable(table.TableName);

                        List <Column> columns = table.ColumnList.Where(x => !dbTable.ColumnList.Exists(y => x.Field.Equals(y.Field))).ToList();

                        foreach (Column column in columns)
                        {
                            StringBuilder builder = new StringBuilder();
                            builder.Append($"ALTER TABLE `{table.TableName}` Add COLUMN `{column.Field}` {column.Type}");
                            if (!column.IsNull)
                            {
                                builder.Append(" NOT NULL");
                            }

                            if (!string.IsNullOrEmpty(column.Default))
                            {
                                builder.Append($" DEFAULT '{column.Default}'");
                            }

                            builder.Append(" COLLATE utf8_unicode_ci;");
                            ShowMessage($"添加{column.Field}字段...");
                            try
                            {
                                MySqlHelperEx.ExecuteNonQueryEx(EnvironmentInfo.ConnectionString, builder.ToString());
                            }
                            catch (Exception)
                            {
                                exceptMessage.Append($"-- {table.TableName}表添加{column.Field}字段失败...").Append(Environment.NewLine);
                                exceptMessage.Append(builder.ToString()).Append(Environment.NewLine);
                            }
                        }
                    }
                    else
                    {
                        ShowMessage($"创建{table.TableName}表...");
                        string result = CreateTable(table);
                        if (!string.IsNullOrEmpty(result))
                        {
                            exceptMessage.Append(result).Append(Environment.NewLine);
                        }
                    }
                }
            }

            ShowMessage("数据库校验完成...");
            if (string.IsNullOrEmpty(exceptMessage.ToString()))
            {
                ShowMessage("升级已经完成,请留意观察JieLink中心使用是否正常...");
            }
            else
            {
                ShowMessage("升级已经完成,以下脚本执行异常,需要人工处理:");
                ShowMessage(exceptMessage.ToString());
            }
        }
        public int Compare(MonthlyReportDetail x, MonthlyReportDetail y)
        {
            if (x == null)
            {
                return(1);  // 两两比较  1:在上 , -1 :在下 0:无序排列
            }
            if (y == null)
            {
                return(-1);
            }

            //完成和未完成对比
            if ((x.IsMissTargetCurrent && !y.IsMissTargetCurrent) || (x.NDifference < 0 && y.NDifference >= 0))
            {
                return(1);
            }
            if ((!x.IsMissTargetCurrent && y.IsMissTargetCurrent) || (x.NDifference >= 0 && y.NDifference < 0))
            {
                return(-1);
            }



            //计划实际均为0的显示排序
            if (x.NPlanAmmount == 0 && x.NActualAmmount == 0)
            {
                return(1);
            }
            if (y.NPlanAmmount == 0 && y.NActualAmmount == 0)
            {
                return(-1);
            }

            ActualRate tx = JsonHelper.Deserialize <ActualRate>(x.NActualRate);
            ActualRate ty = JsonHelper.Deserialize <ActualRate>(y.NActualRate);


            if (tx.RateType > ty.RateType)
            {
                return(1);
            }
            if (tx.RateType == ty.RateType)
            {
                if (tx.Rate < ty.Rate)
                {
                    if (tx.RateType != 1 && x.IsMissTargetCurrent)
                    {
                        return(-1);
                    }//筹备门店的单独算法 Update 2015-5-14 Start
                    else if (tx.RateType != 1 && x.IsMissTargetCurrent == false)
                    {
                        if (x.NDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(-1);
                        }
                        else
                        {
                            return(1);
                        }
                    }
                    //筹备门店的单独算法 Update 2015-5-14 End
                    return(1);
                }
                else if (tx.Rate == ty.Rate)
                {
                    if (x.NActualAmmount < y.NActualAmmount)
                    {
                        return(1);
                    }
                    else if (x.NActualAmmount == y.NActualAmmount)
                    {
                        return(0);
                    }
                    else
                    {
                        return(-1);
                    }
                }
                else
                {
                    if (tx.RateType != 1 && x.IsMissTargetCurrent)
                    {
                        return(1);
                    }
                    else if (tx.RateType != 1 && x.IsMissTargetCurrent == false) //筹备门店的单独算法
                    {
                        if (x.NDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(1);
                        }
                        else
                        {
                            return(-1);
                        }
                    }
                    return(-1);
                }
            }
            else
            {
                return(-1);
            }
        }
Пример #26
0
    private void Login(CometAsyncResult clientState, string email, string pass)
    {
        _jsonHelper = new JsonHelper<object>();
        _cometProcessor = new CometClientProcessor();
        _playerService = new PlayerService();
        Player player = new Player();
        player.password = pass;
        player.email = email;
        _playerService = new PlayerService();
        if (_playerService.Verify(player))
        {
            player = _playerService.FindByEmail(email);
            // Create  Cookie
            HttpCookie time = new HttpCookie("LastLogined", DateTime.Now.ToString());
            HttpCookie userEmail = new HttpCookie("userEMail", player.email);
            HttpCookie userId = new HttpCookie("userId", player.id.ToString());
            time.Expires = DateTime.Now.AddDays(1);
            userEmail.Expires = DateTime.Now.AddDays(1);
            clientState.HttpContext.Response.Cookies.Add(time);
            clientState.HttpContext.Response.Cookies.Add(userEmail);
            clientState.HttpContext.Response.Cookies.Add(userId);
            currentAsyncRequestState.HttpContext.Session["Email"] = player.email;
            currentAsyncRequestState.HttpContext.Session["Username"] = player.username;

            _jsonHelper.message = "Welcome " + player.username + "!";
            _jsonHelper.status = 200;
            string responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelper);
            clientState.HttpContext.Response.Write(responseJSON);
        }
        else
        {
            _jsonHelper.message = "This email and password not found,Please register or try again";
            _jsonHelper.status = 404;
            string responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelper);
            clientState.HttpContext.Response.Write(responseJSON);

        }
        clientState.CompleteRequest();
    }
Пример #27
0
        private string GetYdCollectOnExport(string jsonDataTable)
        {
            string fn       = "/XTemp/采集历史报表.xls";
            string filePath = System.Web.HttpContext.Current.Server.MapPath(@"/XTemp");

            if (System.IO.Directory.Exists(filePath) == false)
            {
                System.IO.Directory.CreateDirectory(filePath);
            }
            string filename = System.Web.HttpContext.Current.Server.MapPath(fn);

            if (System.IO.File.Exists(filename))/*先删除已存在的文件,再汇出Excel*/
            {
                System.IO.File.Delete(filename);
            }
            DataTable dtSource = new DataTable();

            if (jsonDataTable.Length > 10)
            {
                dtSource = JsonHelper.ToDataTable(jsonDataTable);
            }
            string funType = dtSource.Rows.Count == 0 ? "" : funType = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["FunType"]);
            string content = "";

            System.Reflection.FieldInfo info = typeof(V0Fun).GetField(funType);
            if (info != null)
            {
                var obj = info.GetCustomAttributes(typeof(Describe), false);
                if (obj != null)
                {
                    foreach (Describe md in obj)
                    {
                        content = md.describe;
                    }
                }
            }

            Excel.ExcelCellStyle columnCellStyle0 = new Excel.ExcelCellStyle();
            columnCellStyle0 = new Excel.ExcelCellStyle()
            {
                DataFormart         = "0.00",
                HorizontalAlignment = NPOI.SS.UserModel.HorizontalAlignment.RIGHT
            };
            Excel.ExcelCellStyle columnCellStyle1 = new Excel.ExcelCellStyle();
            columnCellStyle1 = new Excel.ExcelCellStyle()
            {
                DataFormart = "yyyy-MM-dd HH:mm:ss",
            };
            Excel.ExcelColumnCollection columns = new Excel.ExcelColumnCollection();
            columns.Add(new Excel.ExcelColumn("序号", "RowId", 5)
            {
                IsSetWith = true
            });
            columns.Add(new Excel.ExcelColumn("建筑", "CoStrcName", 15)
            {
                IsSetWith = true
            });
            columns.Add(new Excel.ExcelColumn("房间", "CoName", 15)
            {
                IsSetWith = true
            });
            columns.Add(new Excel.ExcelColumn("电表地址", "ModuleAddr", 15)
            {
                IsSetWith = true
            });
            columns.Add(new Excel.ExcelColumn("采集时间", "TagTime", 20)
            {
                IsSetWith = true
            });
            columns.Add(new Excel.ExcelColumn("读数", "LastVal", 15)
            {
                IsSetWith = true
            });
            Excel.ExcelOparete excel = new Excel.ExcelOparete("采集历史报表");
            excel.SetObjectValue("采集历史报表" + (content == "" ? "" : ":" + content), 0, 0, 3);
            excel.SetColumnName(columns, 1, 0);
            excel.SetColumnValue(columns, dtSource.Select(), 2, 0);
            excel.SaveExcelByFullFileName(filename);
            return(fn);
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            List <ProcurementRegisterModel.ProcurementEntry> procurementEntries = new List <ProcurementRegisterModel.ProcurementEntry>();
            int procurementEntryCount = dgvProcurementRegister.Rows.Count;

            for (int i = 0; i < procurementEntryCount - 1; i++)
            {
                ProcurementRegisterModel.ProcurementEntry procurementEntry = new ProcurementRegisterModel.ProcurementEntry();
                string poNum          = dgvProcurementRegister.Rows[i].Cells[0].Value?.ToString() ?? "";
                var    itemTitle      = dgvProcurementRegister.Rows[i].Cells[1].Value?.ToString() ?? "";
                var    itemDesc       = dgvProcurementRegister.Rows[i].Cells[2].Value?.ToString() ?? "";
                var    quantity       = dgvProcurementRegister.Rows[i].Cells[3].Value?.ToString() ?? "";
                var    unitPrice      = dgvProcurementRegister.Rows[i].Cells[4].Value?.ToString() ?? "";
                var    totalPrice     = dgvProcurementRegister.Rows[i].Cells[5].Value?.ToString() ?? "";
                var    reqByDate      = dgvProcurementRegister.Rows[i].Cells[6].Value?.ToString() ?? "";
                var    company        = dgvProcurementRegister.Rows[i].Cells[7].Value?.ToString() ?? "";
                var    contactName    = dgvProcurementRegister.Rows[i].Cells[8].Value?.ToString() ?? "";
                var    contactPhNum   = dgvProcurementRegister.Rows[i].Cells[9].Value?.ToString() ?? "";
                var    poStatus       = dgvProcurementRegister.Rows[i].Cells[10].Value?.ToString() ?? "";
                var    poDate         = dgvProcurementRegister.Rows[i].Cells[11].Value?.ToString() ?? "";
                var    deliveryStatus = dgvProcurementRegister.Rows[i].Cells[12].Value?.ToString() ?? "";
                var    deliveryDate   = dgvProcurementRegister.Rows[i].Cells[13].Value?.ToString() ?? "";
                var    payMethod      = dgvProcurementRegister.Rows[i].Cells[14].Value?.ToString() ?? "";
                var    payStatus      = dgvProcurementRegister.Rows[i].Cells[15].Value?.ToString() ?? "";
                var    payDate        = dgvProcurementRegister.Rows[i].Cells[16].Value?.ToString() ?? "";

                try
                {
                    procurementEntry.PO_Number = int.Parse(poNum);
                }
                catch
                {
                    MessageBox.Show("The PO # field must contain only numbers.");
                    return;
                }

                procurementEntry.ItemTitle       = itemTitle;
                procurementEntry.ItemDescription = itemDesc;

                try
                {
                    procurementEntry.Quantity = int.Parse(quantity);
                }
                catch
                {
                    MessageBox.Show("The Quantity field must contain only numbers.");
                    return;
                }

                try
                {
                    procurementEntry.UnitPrice = int.Parse(unitPrice);
                }
                catch
                {
                    MessageBox.Show("The Unit Price field must contain only numbers.");
                    return;
                }

                try
                {
                    procurementEntry.TotalPrice = int.Parse(totalPrice);
                }
                catch
                {
                    MessageBox.Show("The Total Price field must contain only numbers.");
                    return;
                }

                procurementEntry.RequiredByDate     = reqByDate;
                procurementEntry.Company            = company;
                procurementEntry.ContactName        = contactName;
                procurementEntry.ContactPhoneNumber = contactPhNum;
                procurementEntry.PO_Status          = poStatus;
                procurementEntry.PO_Date            = poDate;
                procurementEntry.DeliveryStatus     = deliveryStatus;
                procurementEntry.DeliveryDate       = deliveryDate;
                procurementEntry.PaymentMethod      = payMethod;
                procurementEntry.PaymentStatus      = payStatus;
                procurementEntry.PaymentDate        = payDate;

                procurementEntries.Add(procurementEntry);
            }

            newProcurementRegisterModel.procurementEntries     = procurementEntries;
            newProcurementRegisterModel.ProcurementManagerName = txtProcurementManager.Text;
            newProcurementRegisterModel.ProjectName            = txtProcurementRegisterProjectName.Text;
            newProcurementRegisterModel.ProjectManagerName     = txtProjectManagerName.Text;

            List <VersionControl <ProcurementRegisterModel> .DocumentModel> documentModels = versionControl.DocumentModels;

            if (!versionControl.isEqual(currentProcurementRegisterModel, newProcurementRegisterModel))
            {
                VersionControl <ProcurementRegisterModel> .DocumentModel documentModel = new VersionControl <ProcurementRegisterModel> .DocumentModel(newProcurementRegisterModel, DateTime.Now, VersionControl <ProcurementRegisterModel> .generateID());

                documentModels.Add(documentModel);
                string json = JsonConvert.SerializeObject(versionControl);
                currentProcurementRegisterModel = JsonConvert.DeserializeObject <ProcurementRegisterModel>(JsonConvert.SerializeObject(newProcurementRegisterModel));
                JsonHelper.saveDocument(json, Settings.Default.ProjectID, "ProcurementRegister");
                MessageBox.Show("Procurement register saved successfully", "save", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show("No changes were made.", "save", MessageBoxButtons.OK);
            }
        }
Пример #29
0
        private async void Publicar_Clicked(object sender, EventArgs e)
        {
            //Cadastro do Endereço
            Endereco enderecoCadastrado = new Endereco();

            enderecoCadastrado.CepEndereco         = cepDoEvento;
            enderecoCadastrado.CidadeEndereco      = cidadeDoEvento;
            enderecoCadastrado.BairroEndereco      = bairroDoEvento;
            enderecoCadastrado.NumeroEndereco      = numeroDoEvento;
            enderecoCadastrado.ComplementoEndereco = complementoDoEvento.Replace("'", "''");
            enderecoCadastrado.LogradouroEndereco  = enderecoDoEvento;

            var jsonEndereco = JsonConvert.SerializeObject(enderecoCadastrado);

            var cadastroEndereco = new JsonHelper().enviarPostParaServidorJson(jsonEndereco, "Enderecoes");

            Endereco enderecoConvertido = JsonConvert.DeserializeObject <Endereco>(cadastroEndereco);

            //Endereco enderecoConvertido = (Endereco)cadastroEndereco;

            //Cadastro do Evento
            Evento evento = new Evento();

            evento.IdCriadorDoEvento = idDoCriadorEvento;
            evento.NomeDoEvento      = nomeDoEvento;
            evento.CategoriaDoEvento = categoriaDoEvento;
            evento.DescricaoDoEvento = descricaoDoEvento;
            switch (usuarioL.TipoUsuario)
            {
            case "Uma pessoa":     //Pessoa física = evento privado
                evento.TipoDoEvento = true;
                break;

            case "Uma empresa":     //Pessoa jurídica = evento público
                evento.TipoDoEvento = false;
                break;
            }
            evento.DataDoEvento       = dataDoEvento;
            evento.UrlDoEvento        = urlDoEvento;
            evento.IdEnderecoDoEvento = enderecoConvertido.IdEndereco; //id do endereço cadastrado acima

            var jsonEvento = JsonConvert.SerializeObject(evento);

            var cadastroEvento = new JsonHelper().enviarPostParaServidorJson(jsonEvento, "Eventos");

            Evento eventoCadastrado = JsonConvert.DeserializeObject <Evento>(cadastroEvento);

            //Cadastro da imagem principal
            Galeria imagemPrincipal = new Galeria();

            //imagemPrincipal.IdEventoGaleria = eventoCadastrado.IdEvento;
            imagemPrincipal.imagemGaleria   = imagemPrincipalDoEvento;
            imagemPrincipal.imagemPrincipal = true;

            var jsonGaleria = JsonConvert.SerializeObject(imagemPrincipal);

            var cadastroImagem = new JsonHelper().enviarPostParaServidorJson(jsonGaleria, "Galerias");

            Galeria imagemCadastrada = JsonConvert.DeserializeObject <Galeria>(cadastroImagem);

            //Alocação da imagem em GALERIA - EVENTO
            Galeria_Evento galEven = new Galeria_Evento();

            galEven.IdEvento  = eventoCadastrado.IdEvento;
            galEven.IdGaleria = imagemCadastrada.idGaleria;

            var jsonGaleriaEvento = JsonConvert.SerializeObject(galEven);

            var cadastroImagemEvento = new JsonHelper().enviarPostParaServidorJson(jsonGaleriaEvento, "Galeria_Evento");

            //Galeria_Evento imagemEventoCadastrada = JsonConvert.DeserializeObject<Galeria_Evento>(jsonGaleriaEvento);

            //await Navigation.PushModalAsync(new InicioDetalhes(usuarioL.Id, usuarioL.Login), true);
            await DisplayAlert("É isso aí!", "Você publicou " + evento.NomeDoEvento + " e ele já pode ser visto.", "Partiu!");

            Application.Current.MainPage = new NavigationPage(new InicioDetalhes(usuarioL.Id, usuarioL.Login));


            /*if (respostaDoServidor != null)
             * {
             *  await DisplayAlert(, "Bem-vindo ao EvenTop!", "Partiu!");
             *  await Navigation.PushModalAsync(new MainPage(), true);
             * }
             * else
             * {
             *  await DisplayAlert("Hm.. tivemos um problema", "Não conseguimos encontrar sua conta!", "Tente novamente!");
             * }*/
        }
Пример #30
0
        /// <summary>
        /// 监听指定端口 接收客户端发来的消息
        /// </summary>
        private void ReceiveMessage()
        {
            IPEndPoint remoteIPEndPoint = new IPEndPoint(IPAddress.Any, 0);

            while (true)
            {
                try
                {
                    byte[] receiveBytes = receiveUdpClient.Receive(ref remoteIPEndPoint);
                    string message      = Encoding.Unicode.GetString(receiveBytes, 0, receiveBytes.Length);

                    AddMsgToLog(string.Format("{0}:{1}", remoteIPEndPoint, message));

                    UserDTO dto = JsonConvert.DeserializeObject <UserDTO>(message, JsonHelper.GetIPJsonSettings());
                    switch (dto.LoginState)
                    {
                    case UserLoginState.Login:
                        User user = dto.LoginUser;
                        userList.Add(user);
                        AddMsgToLog(string.Format("用户{0}({1})加入", user.Name, user.IPAndPort));
                        string sendMsg = JsonConvert.SerializeObject(new UserDTO
                        {
                            LoginState    = UserLoginState.Accept,
                            ServerTcpPort = tcpPort
                        });
                        SendToClient(user, sendMsg);
                        AddMsgToLog(string.Format("向{0}({1})发出:[{2}]", user.Name, user.IPAndPort, sendMsg));
                        foreach (User otherUser in userList)
                        {
                            if (otherUser.IPAndPort.ToString() != user.IPAndPort.ToString())
                            {
                                SendToClient(otherUser, message);
                            }
                        }
                        AddMsgToLog(string.Format("广播:[{0}]", message));
                        break;

                    case UserLoginState.Logout:
                        for (int i = 0; i < userList.Count; i++)
                        {
                            if (userList[i].ID == dto.LoginUser.ID)
                            {
                                AddMsgToLog(string.Format("用户{0}({1})退出", userList[i].Name, userList[i].IPAndPort));
                                // 移除用户
                                userList.RemoveAt(i);
                            }
                        }
                        for (int i = 0; i < userList.Count; i++)
                        {
                            // 广播注销消息
                            SendToClient(userList[i], message);
                        }
                        AddMsgToLog(string.Format("广播:[{0}]", message));
                        break;
                    }
                }
                catch
                {
                    break;
                }
            }
            AddMsgToLog(string.Format("服务线程{0}终止", serverIPEndPoint));
        }
Пример #31
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                context.Response.ContentType = "text/plain";
                string pageindex = HttpContext.Current.Request.Params["pageindex"];
                if (string.IsNullOrEmpty(pageindex))
                {
                    HttpContext.Current.Response.Write("pageindex error");
                    return;
                }
                string pagesize = HttpContext.Current.Request.Params["pagesize"];
                if (string.IsNullOrEmpty(pagesize))
                {
                    HttpContext.Current.Response.Write("pagesize error");
                    return;
                }

                string MaterialDataNo = HttpContext.Current.Request.Params["materialDataNo"];

                string MaterialDataName = HttpContext.Current.Request.Params["materialDataName"];

                string Supplier = HttpContext.Current.Request.Params["supplier"];
                string StoreId  = HttpContext.Current.Request.Params["storeId"];
                string sqlwhere = "";

                if (MaterialDataNo.Trim() != "")
                {
                    sqlwhere += " AND a.MaterialDataNo like N'%" + MaterialDataNo.Trim() + "%'";
                }
                if (MaterialDataName.Trim() != "")
                {
                    sqlwhere += " AND a.MaterialDataName like N'%" + MaterialDataName.Trim() + "%'";
                }

                if (Supplier.Trim() != "")
                {
                    sqlwhere += " AND a.Supplier like N'%" + Supplier.Trim() + "%'";
                }
                string sqlwherein = "select MaterialId from Material_W_S where 1=1 ";
                if (StoreId.Trim() != "")
                {
                    sqlwherein += " AND StoreId = N'" + StoreId.Trim() + "'";
                    sqlwhere   += "AND a.ID in (" + sqlwherein + ")";
                }

                string  sqlCount  = string.Format(@"select count(1) from  [MaterialData](nolock)  a  
                        where 1=1  {0}", sqlwhere);
                DataSet dscount   = SQLHelper.GetDataSet(sqlCount);
                string  sqlSearch = string.Format(@"SELECT  temp.* 
FROM    ( SELECT TOP ( {0} * {1} )
                    ROW_NUMBER() OVER ( ORDER BY a.[ID] DESC ) AS rownum ,
                    a.*
            FROM  MaterialData(nolock)  a             
where 1=1  {2}  
        ) AS temp
WHERE   temp.rownum > (  {0} * ( {1} - 1 ))     
ORDER BY temp.[ID] DESC", pagesize, pageindex, sqlwhere);
                DataSet dsSearch  = SQLHelper.GetDataSet(sqlSearch);

                string     jsonText   = "";
                JsonHelper jsonHelper = new JsonHelper();
                if (dsSearch != null && dsSearch.Tables[0].Rows.Count > 0)
                {
                    jsonText = jsonHelper.DataTableToJson(dsSearch.Tables[0], int.Parse(dscount.Tables[0].Rows[0][0].ToString()));
                }
                else
                {
                    DataTable dt = new DataTable();
                    dt.Columns.Add("tips");
                    dt.AcceptChanges();
                    DataRow dr = dt.NewRow();
                    dr["tips"] = "没有数据";
                    dt.Rows.Add(dr);
                    dt.AcceptChanges();
                    jsonText = jsonHelper.DataTableToJson(dt, 0);
                }
                HttpContext.Current.Response.Write(jsonText);
            }
            catch (Exception ex)
            {
                JsonHelper jsonHelper = new JsonHelper();
                DataTable  dt         = new DataTable();
                dt.Columns.Add("tips");
                dt.AcceptChanges();
                DataRow dr = dt.NewRow();
                dr["tips"] = "没有数据";
                dt.Rows.Add(dr);
                dt.AcceptChanges();
                string jsonText = jsonHelper.DataTableToJson(dt, 0);
                HttpContext.Current.Response.Write(jsonText);

                //HttpContext.Current.Response.End();
            }
        }
Пример #32
0
 public long CountWhere([FromBody] JArray filters)
 {
     try
     {
         List <EntityParser.Filter> f = filters.ToObject <List <EntityParser.Filter> >(JsonHelper.GetJsonSerializer());
         return(this.StateSalesTaxScrudViewRepository.CountWhere(f));
     }
     catch (UnauthorizedException)
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));
     }
     catch (MixERPException ex)
     {
         throw new HttpResponseException(new HttpResponseMessage
         {
             Content    = new StringContent(ex.Message),
             StatusCode = HttpStatusCode.InternalServerError
         });
     }
     catch
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
     }
 }
Пример #33
0
        // GET: MainMenu
        public ActionResult Index()
        {
            string    userjson = Request["userInfo"];
            TUserInfo userdata = null;

            if ((userjson == null) || (userjson == String.Empty))
            {
                if (Request["UserCode"] == null || Request["UserCode"] == String.Empty ||
                    Request["Password"] == null || Request["Password"] == String.Empty
                    )
                {
                    return(RedirectToAction("Index", "UserInfo"));
                }
                else
                {
                    string sUCode = Request["UserCode"];
                    string sUPwd  = Request["Password"];

                    userdata = TUserInfoBLL.ULogin(sUCode, sUPwd);
                }
            }
            else
            {
                userdata = JsonHelper.DeserializeJsonToObject <TUserInfo>(Request["userInfo"]);
            }

            if (userdata == null)
            {
                return(RedirectToAction("Index", "UserInfo"));
            }
            else
            {
                bool       bSaveUser     = false;
                HttpCookie pwdCookie     = null;
                HttpCookie uerCodeCookie = null;
                HttpCookie remberCookie  = null;
                if (Request.Cookies["UserCode"] != null)
                {
                    uerCodeCookie = Request.Cookies["UserCode"];
                }
                if (Request.Cookies["rememberUser"] != null)
                {
                    remberCookie = Request.Cookies["rememberUser"];
                    bSaveUser    = remberCookie.Value == "true";
                }
                if (Request.Cookies["Password"] != null)
                {
                    pwdCookie = Request.Cookies["Password"];
                }


                pwdCookie.Value    = Security.UGetMd5Str(userdata.Uid.ToString() + userdata.Upassword);
                pwdCookie.Path     = "/";
                uerCodeCookie.Path = "/";
                remberCookie.Path  = "/";


                if (bSaveUser)
                {
                    pwdCookie.Expires     = DateTime.Now.AddDays(15);
                    uerCodeCookie.Expires = DateTime.Now.AddDays(15);
                    remberCookie.Expires  = DateTime.Now.AddDays(15);
                }
                else
                {
                    pwdCookie.Expires     = DateTime.Now.AddDays(-1);
                    uerCodeCookie.Expires = DateTime.Now.AddDays(-1);
                    remberCookie.Expires  = DateTime.Now.AddDays(-1);
                }
                Response.Cookies.Add(pwdCookie);
                Response.Cookies.Add(uerCodeCookie);
                Response.Cookies.Add(remberCookie);

                return(View());
            }
        }
        protected override void AfterGetData(DataTable dt, bool isNew, string upperVersionID)
        {
            if (isNew)
            {
                var projectInfoID = dt.Rows[0]["ProjectInfoID"].ToString();
                var sql           = string.Format("select * from S_W_WBS with(nolock) where ProjectInfoID = '{0}'", projectInfoID);
                var wbsDT         = this.ProjectSQLDB.ExecuteDataTable(sql);
                sql = string.Format("select * from S_W_RBS where ProjectInfoID = '{0}'", projectInfoID);
                var rbsDT            = this.ProjectSQLDB.ExecuteDataTable(sql);
                var schemeSubProject = JsonHelper.ToList(dt.Rows[0]["SubProjectList"].ToString());
                var schemeMajorList  = JsonHelper.ToList(dt.Rows[0]["MajorList"].ToString());
                var roleCodes        = BaseConfigFO.GetRoleDefineList().Select(a => a.RoleCode).ToArray();
                if (schemeMajorList.Count() > 0)
                {
                    var attendRoles = schemeMajorList[0].Keys.Where(a => roleCodes.Contains(a)).ToArray();
                    foreach (var subProject in schemeSubProject)
                    {
                        var subProjectWBSID = subProject.GetValue("SubProjectWBSID");
                        //如果没有子项WBSID,则说明异构结构中,专业直接挂在了阶段节点下
                        if (String.IsNullOrEmpty(subProjectWBSID))
                        {
                            subProjectWBSID = subProject.GetValue("PhaseWBSID");
                        }
                        if (string.IsNullOrEmpty(subProject.GetValue("RBSJson")))
                        {
                            #region 没有RBSJson
                            //没有RBSJson,说明所有专业都参与
                            //没有RBSJson,需要判断是否修改过专业人员
                            var schemeToWrite = new List <Dictionary <string, object> >();
                            var flag          = false;
                            for (int i = 0; i < schemeMajorList.Count(); i++)
                            {
                                var schemeMajor = schemeMajorList[i];
                                var rbsToWrite  = new Dictionary <string, object>();
                                rbsToWrite.SetValue("SortIndex", i);
                                rbsToWrite.SetValue("MajorName", schemeMajor.GetValue("MajorName"));
                                rbsToWrite.SetValue("MajorCode", schemeMajor.GetValue("MajorCode"));
                                rbsToWrite.SetValue("Valid", "1");
                                rbsToWrite.SetValue("IsChange", false);

                                var majorWBS = wbsDT.AsEnumerable().Where(a => a["ParentID"].ToString() == subProjectWBSID &&
                                                                          a["Code"].ToString() == schemeMajor.GetValue("MajorCode")).ToArray();
                                if (majorWBS.Length == 0)
                                {
                                    continue;
                                }
                                foreach (var aRole in attendRoles)
                                {
                                    var rbsList = rbsDT.AsEnumerable().Where(a => a["WBSID"].ToString() == majorWBS[0]["ID"].ToString() &&
                                                                             a["RoleCode"].ToString() == aRole).ToArray();
                                    var userIDs   = rbsList.Select(a => a["UserID"].ToString()).ToArray();
                                    var userNames = rbsList.Select(a => a["UserName"].ToString()).ToArray();
                                    rbsToWrite.SetValue(aRole, string.Join(",", userIDs));
                                    rbsToWrite.SetValue(aRole + "Name", string.Join(",", userNames));
                                    //判断aRole角色在rbs中和策划的专业人员是否相同
                                    var isSame         = true;
                                    var schemeMajorRBS = schemeMajor.GetValue(aRole).Split(',');
                                    if (userIDs.Length == schemeMajorRBS.Length)
                                    {
                                        var q = (from a in userIDs join b in schemeMajorRBS on a equals b select a).ToArray();
                                        if (q.Length != userIDs.Length)
                                        {
                                            isSame = false;
                                        }
                                    }
                                    //schemeMajor.GetValue(aRole)会产生空字符串
                                    else if (!(userIDs.Length == 0 && schemeMajor.GetValue(aRole) == ""))
                                    {
                                        isSame = false;
                                    }
                                    if (!isSame)
                                    {
                                        flag = true;
                                        rbsToWrite.SetValue("IsChange", true);
                                    }
                                }
                                schemeToWrite.Add(rbsToWrite);
                            }
                            if (flag)
                            {
                                subProject.SetValue("RBSJson", JsonHelper.ToJson(schemeToWrite));
                            }
                            #endregion
                        }
                        else
                        {
                            #region  RBSJson
                            //有RBSJson,替换人员
                            var schemeRBS = JsonHelper.ToList(subProject.GetValue("RBSJson"));
                            var tmpRBS    = JsonHelper.ToList(JsonHelper.ToJson(schemeRBS));
                            for (int i = 0; i < schemeRBS.Count(); i++)
                            {
                                var sRBS = schemeRBS[i];
                                if (sRBS.GetValue("Valid") == "1")
                                {
                                    var majorWBS = wbsDT.AsEnumerable().Where(a => a["ParentID"].ToString() == subProjectWBSID &&
                                                                              a["Code"].ToString() == sRBS.GetValue("MajorCode")).ToArray();
                                    if (majorWBS.Length == 0)
                                    {
                                        continue;
                                    }
                                    var roleDefines = sRBS.Keys.Where(a => roleCodes.Contains(a));
                                    foreach (var roleDefine in roleDefines)
                                    {
                                        var rbsList = rbsDT.AsEnumerable().Where(a => a["WBSID"].ToString() == majorWBS[0]["ID"].ToString() &&
                                                                                 a["RoleCode"].ToString() == roleDefine).ToArray();
                                        var userIDs       = rbsList.Select(a => a["UserID"].ToString()).ToArray();
                                        var userNames     = rbsList.Select(a => a["UserName"].ToString()).ToArray();
                                        var schemeUserIDs = tmpRBS[i].GetValue(roleDefine).Split(',');
                                        tmpRBS[i].SetValue(roleDefine, string.Join(",", userIDs));
                                        tmpRBS[i].SetValue(roleDefine + "Name", string.Join(",", userNames));
                                        var isSame = true;
                                        if (userIDs.Length == schemeUserIDs.Length)
                                        {
                                            var q = (from a in userIDs join b in schemeUserIDs on a equals b select a).ToArray();
                                            if (q.Length != userIDs.Length)
                                            {
                                                isSame = false;
                                            }
                                        }
                                        //schemeMajor.GetValue(aRole)会产生空字符串
                                        else if (!(userIDs.Length == 0 && tmpRBS[i].GetValue(roleDefine) == ""))
                                        {
                                            isSame = false;
                                        }
                                        if (!isSame)
                                        {
                                            tmpRBS[i].SetValue("IsChange", true);
                                        }
                                    }
                                }
                            }
                            subProject.SetValue("RBSJson", JsonHelper.ToJson(tmpRBS));
                            #endregion
                        }
                    }
                    dt.Rows[0]["SubProjectList"] = JsonHelper.ToJson(schemeSubProject);
                }
            }
        }
Пример #35
0
 public override void Init()
 {
     base.Init();
     _jsonHelper = new JsonHelper(_helperContext);
 }
 public IEnumerable <MixERP.Net.Entities.Core.FrequencySetup> GetWhere(long pageNumber, [FromBody] JArray filters)
 {
     try
     {
         List <EntityParser.Filter> f = filters.ToObject <List <EntityParser.Filter> >(JsonHelper.GetJsonSerializer());
         return(this.FrequencySetupRepository.GetWhere(pageNumber, f));
     }
     catch (UnauthorizedException)
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));
     }
     catch (MixERPException ex)
     {
         throw new HttpResponseException(new HttpResponseMessage
         {
             Content    = new StringContent(ex.Message),
             StatusCode = HttpStatusCode.InternalServerError
         });
     }
     catch
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
     }
 }
Пример #37
0
    private void Register(CometAsyncResult clientState, string email, string user, string pass, string passConfirm)
    {
        _playerService = new PlayerService();
        _jsonHelper = new JsonHelper<Object>();
        string responseJSON = null;
        if (pass == passConfirm)
        {
            Player newPlayer = new Player();
            newPlayer.email = email;
            newPlayer.username = user;
            // kod zashivrovali v settere
            newPlayer.password = pass;
            newPlayer.image = "ehse netu picture";
            newPlayer.registration_date = DateTime.Now;

            if (!_playerService.CheckIfExists(newPlayer))
            {
                // do stuff here to log the user in ...
                if (_playerService.Insert(newPlayer))
                {
                    Login(clientState, newPlayer.email, newPlayer.password);
                }
            }
            else
            {
                _jsonHelper.status = 405;
                _jsonHelper.message = "This email is registered,Please login or register another one";
                responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelper);
                clientState.HttpContext.Response.Headers.Add("Content-type", "application/json");
                clientState.HttpContext.Response.Write(responseJSON);
            }
        }
        else
        {
            _jsonHelper.status = 406;
            _jsonHelper.message = "Passwords doesn't match!";
            responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelper);
            HttpContext.Current.Response.Headers.Add("Content-type", "application/json");
            HttpContext.Current.Response.Write(responseJSON);
        }
    }
Пример #38
0
        public IEnumerable <Frapid.Account.Entities.User> GetWhere(long pageNumber, [FromBody] JArray filters)
        {
            try
            {
                List <Frapid.DataAccess.Models.Filter> f = filters.ToObject <List <Frapid.DataAccess.Models.Filter> >(JsonHelper.GetJsonSerializer());
                return(this.UserRepository.GetWhere(pageNumber, f));
            }
            catch (UnauthorizedException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));
            }
            catch (DataAccessException ex)
            {
                throw new HttpResponseException(new HttpResponseMessage
                {
                    Content    = new StringContent(ex.Message),
                    StatusCode = HttpStatusCode.InternalServerError
                });
            }
#if !DEBUG
            catch
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
#endif
        }
 public void Setup()
 {
     _jsonHelper = new DependencyManager().ConfigureStartupDependencies().GetInstance<JsonHelper>();
 }
Пример #40
0
 private List <ExpandoObject> ParseCollection(JArray collection)
 {
     return(JsonConvert.DeserializeObject <List <ExpandoObject> >(collection.ToString(), JsonHelper.GetJsonSerializerSettings()));
 }
Пример #41
0
        public ActionResult ToExcel()
        {
            string CompanyID = this.CompanyID;

            int PageIndex = 1;
            int PageSize  = Int32.MaxValue;

            string OrderNum  = WebUtil.GetFormValue <string>("OrderNum");
            int    OrderType = WebUtil.GetFormValue <int>("OrderType", 0);
            string CusName   = WebUtil.GetFormValue <string>("CusName", string.Empty);
            string CusNum    = WebUtil.GetFormValue <string>("CusNum", string.Empty);
            string Phone     = WebUtil.GetFormValue <string>("Phone", string.Empty);

            int Status       = WebUtil.GetFormValue <int>("Status", 0);
            int AuditeStatus = WebUtil.GetFormValue <int>("AuditeStatus", -1);

            string ContractOrder = WebUtil.GetFormValue <string>("ContractOrder", string.Empty);
            string CusOrderNum   = WebUtil.GetFormValue <string>("CusOrderNum", string.Empty);

            string BarCode     = WebUtil.GetFormValue <string>("BarCode", string.Empty);
            string ProductName = WebUtil.GetFormValue <string>("ProductName", string.Empty);

            string BeginTime = WebUtil.GetFormValue <string>("BeginTime", string.Empty);
            string EndTime   = WebUtil.GetFormValue <string>("EndTime", string.Empty);

            ITopClient client = new TopClientDefault();
            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("CompanyID", CompanyID);

            dic.Add("PageIndex", PageIndex.ToString());
            dic.Add("PageSize", PageSize.ToString());

            dic.Add("OrderNum", OrderNum);
            dic.Add("OrderType", OrderType.ToString());
            dic.Add("CusName", CusName);
            dic.Add("CusNum", CusNum);
            dic.Add("Phone", Phone);

            dic.Add("Status", Status.ToString());
            dic.Add("AuditeStatus", AuditeStatus.ToString());

            dic.Add("ContractOrder", ContractOrder);
            dic.Add("CusOrderNum", CusOrderNum);

            dic.Add("BarCode", BarCode);
            dic.Add("ProductName", ProductName);

            dic.Add("BeginTime", BeginTime);
            dic.Add("EndTime", EndTime);

            string result = client.Execute(SaleApiName.SaleApiName_GetDetailList, dic);

            string returnValue = string.Empty;

            if (!result.IsEmpty())
            {
                DataListResult <SaleDetailEntity> dataResult = JsonConvert.DeserializeObject <DataListResult <SaleDetailEntity> >(result);
                List <SaleDetailEntity>           listResult = dataResult.Result;
                if (!listResult.IsNullOrEmpty())
                {
                    DataTable dt = new DataTable();
                    dt.Columns.Add(new DataColumn("订单号"));
                    dt.Columns.Add(new DataColumn("产品名称"));
                    dt.Columns.Add(new DataColumn("产品编号"));
                    dt.Columns.Add(new DataColumn("产品规格"));
                    dt.Columns.Add(new DataColumn("单价"));
                    dt.Columns.Add(new DataColumn("单位"));
                    dt.Columns.Add(new DataColumn("数量"));
                    dt.Columns.Add(new DataColumn("出库数"));
                    dt.Columns.Add(new DataColumn("总额"));
                    dt.Columns.Add(new DataColumn("客户单号"));
                    dt.Columns.Add(new DataColumn("客户编号"));
                    dt.Columns.Add(new DataColumn("客户名"));
                    dt.Columns.Add(new DataColumn("订单总额"));
                    dt.Columns.Add(new DataColumn("状态"));
                    dt.Columns.Add(new DataColumn("是否入账"));
                    dt.Columns.Add(new DataColumn("退货"));
                    dt.Columns.Add(new DataColumn("退货数"));
                    dt.Columns.Add(new DataColumn("创建时间"));
                    foreach (SaleDetailEntity t in listResult)
                    {
                        DataRow row = dt.NewRow();
                        row[0]  = t.OrderNum;
                        row[1]  = t.ProductName;
                        row[2]  = t.BarCode;
                        row[3]  = t.Size;
                        row[4]  = t.Price;
                        row[5]  = t.UnitName;
                        row[6]  = t.Num;
                        row[7]  = t.RealNum;
                        row[8]  = t.Amount;
                        row[9]  = t.CusOrderNum;
                        row[10] = t.CusNum;
                        row[11] = t.CusName;
                        row[12] = t.OrderAmount;
                        row[13] = EnumHelper.GetEnumDesc <EOrderStatus>(t.OrderStatus);
                        row[14] = EnumHelper.GetEnumDesc <EBool>(t.AuditeStatus);
                        row[15] = EnumHelper.GetEnumDesc <EBool>(t.HasReturn);
                        row[16] = t.ReturnNum;
                        row[17] = t.CreateTime.To("yyyy-MM-dd");
                        dt.Rows.Add(row);
                    }
                    string filePath = Server.MapPath("~/UploadFile/");
                    if (!System.IO.Directory.Exists(filePath))
                    {
                        System.IO.Directory.CreateDirectory(filePath);
                    }
                    string    filename = string.Format("销售订单{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff"));
                    NPOIExcel excel    = new NPOIExcel("销售订单", "销售订单", System.IO.Path.Combine(filePath, filename));
                    excel.ToExcel(dt);
                    returnValue = ("/UploadFile/" + filename).Escape();
                }
            }
            DataResult returnResult = null;

            if (!returnValue.IsEmpty())
            {
                returnResult = new DataResult()
                {
                    Code = 1000, Message = returnValue
                };
            }
            else
            {
                returnResult = new DataResult()
                {
                    Code = 1001, Message = "没有任何数据导出"
                };
            }
            return(Content(JsonHelper.SerializeObject(returnResult)));
        }
        public void Extract(string pathName)
        {
            DDTFileTable table = new DDTFileTable();

            this.GetEntry();

            using (FileStream fs = File.OpenRead(this.ImgName))
            {
                using (BinaryReader br = new BinaryReader(fs))
                {
                    for (int i = 0; i < this.mEntries.Count; i++)
                    {
                        Entry vEntry = mEntries[i];


                        string dstPath   = pathName + "/" + vEntry.FullName;
                        string dirname   = Path.GetDirectoryName(dstPath);
                        var    vSubItems = new List <SubItem>();
                        br.BaseStream.Seek(vEntry.Offset, SeekOrigin.Begin);
                        byte[] entryData = br.ReadBytes(vEntry.Size);
                        Logger.Print(string.Format("{0}:at offset:{1:x8}", vEntry.FullName, vEntry.Offset));
                        if (!Directory.Exists(dirname))
                        {
                            Directory.CreateDirectory(dirname);
                        }

                        using (FileStream entrFile = File.OpenWrite(dstPath))
                        {
                            entrFile.Write(entryData, 0, entryData.Length);
                        }

                        //如果是lb,则额外进行解包操作。
                        if (Path.GetExtension(vEntry.FullName).ToLower().Equals(".lb"))
                        {
                            LB lbPackage = new LB();
                            lbPackage.Load(dstPath);
                            vSubItems = lbPackage.SubItems;
                            for (int p = 0; p < lbPackage.SubItems.Count; p++)
                            {
                                var vitem = lbPackage.SubItems[p];
                                var tExt  = Path.GetExtension(vitem.FileName).ToLower();
                                if (tExt.Equals(".bf") ||
                                    tExt.Equals(".tmx")
                                    /*|| Path.GetExtension(vitem.FileName).ToLower().Equals(".pac")*/)
                                {
                                    //如果是bf和tmx,则设定为解包并解压。
                                    Logger.Print(string.Format("\t- Extract {0}", vitem.FileName));
                                    byte[] zipdata = lbPackage.Unpack(vitem.FileName);
                                    string dstName = Path.Combine(dirname, vitem.FileName);
                                    if (vSubItems[p].IsCompressed)
                                    {
                                        vSubItems[p].NeedReCompress = true;
                                    }
                                    File.WriteAllBytes(dstName, zipdata);
                                }
                                else
                                {
                                    Logger.Print(string.Format("\t- Unpack {0}", vitem.FileName));
                                    byte[] zipdata = lbPackage.GetRaw(vitem.FileName);
                                    string dstName = Path.Combine(dirname, vitem.FileName);

                                    byte[] dezipdata = lbPackage.Unpack(vitem.FileName);

                                    File.WriteAllBytes(dstName + ".decdata", dezipdata);

                                    vSubItems[p].NeedReCompress = false;
                                    File.WriteAllBytes(dstName, zipdata);
                                }
                            }
                        }
                        else
                        {
                        }
                        table.Files.Add(new SubFile()
                        {
                            FileName = vEntry.FullName,
                            SubItems = vSubItems
                        });
                    }
                }
            }

            string jsontable = JsonHelper.Serialize(table);

            File.WriteAllText("dds3_table.json", jsontable, new UTF8Encoding(false));
        }
        public static async Task <DefaultResponse <O> > RequestAsync(string service, string token = null, int triesNumber = 0, RequestType requestType = RequestType.Get, I SendObject = null)
        {
            DefaultResponse <O> resposta = new DefaultResponse <O>();
            var url = $"{StarWars.Services.InfraStructure.ServiceConstants.BASESWAPI}{service}";
            HttpResponseMessage response = new HttpResponseMessage();

            for (int i = 0; i <= triesNumber; i++)
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        if (!string.IsNullOrEmpty(token))
                        {
                            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                        }

                        var content = JsonHelper <I> .ObjectToJson(SendObject);

                        switch (requestType)
                        {
                        case RequestType.Get:
                            response = await client.GetAsync(url);

                            break;

                        case RequestType.Post:
                            response = await client.PostAsync(url, new StringContent(content, Encoding.UTF8, "application/json"));

                            break;

                        case RequestType.Put:
                            response = await client.PutAsync(url, new StringContent(content, Encoding.UTF8, "application/json"));

                            break;

                        case RequestType.Delete:
                            response = await client.DeleteAsync(url);

                            break;

                        default:
                            break;
                        }

                        if (response.StatusCode == HttpStatusCode.OK)
                        {
                            string responseString = await response.Content.ReadAsStringAsync();

                            resposta.Content = JsonHelper <O> .JsonToObject(responseString);

                            resposta.IsSuccess = true;

                            triesNumber = i++;
                        }
                        else
                        {
                            if (response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                            {
                                if (i == triesNumber)
                                {
                                    resposta.Message   = "Tempo limite atingido";
                                    resposta.IsSuccess = false;
                                }
                            }
                            else if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
                            {
                                resposta.Message   = "Serviço não encontrado";
                                resposta.IsSuccess = false;
                            }
                            else if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError)
                            {
                                if (i == triesNumber)
                                {
                                    resposta.Message   = "Serviço indisponível no momento";
                                    resposta.IsSuccess = false;
                                }
                            }
                            else
                            {
                                resposta.Message   = "Falha no acesso!";
                                resposta.IsSuccess = false;
                            }
                        }
                    }
                }
                catch (JsonException jsonException)
                {
                    resposta.Message   = $"JsonException: {jsonException.Message}";
                    resposta.IsSuccess = false;
                }
                catch (HttpRequestException httpRequestException)
                {
                    resposta.Message   = $"Exception: {httpRequestException.Message}";
                    resposta.IsSuccess = false;
                }
                catch (Exception exception)
                {
                    resposta.Message   = $"Exception: {exception.Message}";
                    resposta.IsSuccess = false;
                }
            }

            return(resposta);
        }
Пример #44
0
    private void ProcessServiceRequest(Object state, DateTime requestTime)
    {
        string responseJSON = null;
        JsonHelper<Object> _jsonHelper = new JsonHelper<Object>();
        CometAsyncResult _curAsyncResult = state as CometAsyncResult;
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        CometClientProcessor _cometProcessor = new CometClientProcessor();

        _curAsyncResult.HttpContext.Response.ContentType = "text/plain";
        try
        {
            uidForImage = new Guid();
            string dirFullPath = _curAsyncResult.HttpContext.Server.MapPath("~/Content/img/avatars/");
            string[] files;
            int numFiles;
            files = System.IO.Directory.GetFiles(dirFullPath);
            numFiles = files.Length;
            numFiles = numFiles + 1;
            string str_image = "";
            string imgPath = "~/Content/img/avatars/";
            foreach (string s in currentAsyncRequestState.HttpContext.Request.Files)
            {
                HttpPostedFile file = _curAsyncResult.HttpContext.Request.Files[s];
                string fileName = file.FileName;
                string fileExtension = file.ContentType;

                if (!string.IsNullOrEmpty(fileName))
                {

                    fileExtension = Path.GetExtension(fileName);
                    str_image = "MyPHOTO_" + numFiles.ToString() + fileExtension;
                    string _saveLocation = _curAsyncResult.HttpContext.Server.MapPath(imgPath) + "" + uidForImage + fileName;
             //       string pathToSave_100 = _curAsyncResult.HttpContext.Server.MapPath(imgPath) + str_image;
                    file.SaveAs(_saveLocation);
                }
            }
            //  database record update logic here  ()

            _curAsyncResult.HttpContext.Response.Write(str_image);
        }
        catch (Exception ac)
        {

        }

        _curAsyncResult.HttpContext.Request.InputStream.Position = 0;
        string jsonRequest = new StreamReader(_curAsyncResult.HttpContext.Request.InputStream).ReadToEnd();
        Dictionary<string, string> values = serializer.Deserialize<Dictionary<string, string>>(jsonRequest);

        string command = values["command"];
        switch (command)
        {
            case "CONNECT":
                CometClientProcessor.AddClient(_curAsyncResult);
                _curAsyncResult.HttpContext.Response.Write(_curAsyncResult.ClientGuid.ToString());
                _curAsyncResult.CompleteRequest();
                break;

            case "DISCONNECT":
                CometClientProcessor.RemoveClient(_curAsyncResult);
                _curAsyncResult.CompleteRequest();
                break;

            case "CLIENTGUID":
                if (values["ClientID"] != null)
                {
                    CometClientProcessor.UpdateClient(_curAsyncResult, values["ClientID"].ToString());
                }
                break;

            case "login":
                Login(_curAsyncResult, values["email"], values["password"]);
                break;

            case "register":
                Register(_curAsyncResult, values["email"], values["user"], values["pass"], values["passConfirm"]);
                break;

            case "logout":
                CometClientProcessor.RemoveClient(_curAsyncResult);
                _curAsyncResult.HttpContext.Response.Cookies["LastLogined"].Expires = DateTime.Now.AddDays(-1);
                _curAsyncResult.HttpContext.Response.Cookies["userEMail"].Expires = DateTime.Now.AddDays(-1);
                _jsonHelper.status = 1000; // status 1000 logout
                _jsonHelper.message = "GoodBye ";
                responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelper);
                _curAsyncResult.HttpContext.Response.Headers.Add("Content-type", "application/json");
                _curAsyncResult.HttpContext.Response.Write(responseJSON);
                ExpireAllCookies();
                _curAsyncResult.HttpContext.Session.Clear();
                _curAsyncResult.HttpContext.Session.RemoveAll();
                _curAsyncResult.HttpContext.Session.Abandon();
                _curAsyncResult.CompleteRequest();
                break;

            case "getGames":
                JsonHelper<Category> _jsonHelperGames = new JsonHelper<Category>();
                _jsonHelperGames.status = 200; //getGames
                _jsonHelperGames.listData = _cometProcessor.getGames(_curAsyncResult);
                responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelperGames);
                _curAsyncResult.HttpContext.Response.Headers.Add("Content-type", "application/json");
                _curAsyncResult.HttpContext.Response.Write(responseJSON);
                _curAsyncResult.CompleteRequest();
                break;

            case "startGame":
                int catId = Convert.ToInt32(values["categoryId"]);
                _cometProcessor.startGame(_curAsyncResult, catId);
                JsonHelper<Answer> _jsonHelperQandAnswers = new JsonHelper<Answer>();
                // Cleaning Buffer for each response to client
                _curAsyncResult.HttpContext.Response.BufferOutput = false;
                _curAsyncResult.HttpContext.Response.Flush();
                _jsonHelperQandAnswers.status = 10; // Continue Game
                _jsonHelperQandAnswers.message = StaticMembers._questionNumber + " / " + StaticMembers._questionListWas; ;
                _jsonHelperQandAnswers.objData = StaticMembers.question;
                _jsonHelperQandAnswers.listData = AnswerService.getAllByQuestionId(StaticMembers.question.id);
                responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelperQandAnswers);
                _curAsyncResult.HttpContext.Response.Write(responseJSON);
                _curAsyncResult.CompleteRequest();
                break;

            case "continueGame":
                bool play = Convert.ToBoolean(values["gameAction"]);
                int score = Convert.ToInt32(values["score"]);
                GameService _gameService = new GameService();
                if (_cometProcessor.continueGame(play, score))
                {
                    JsonHelper<Answer> _jsonHelperQandAns = new JsonHelper<Answer>();
                    // Cleaning Buffer for each response to client
                    _curAsyncResult.HttpContext.Response.BufferOutput = false;
                    _curAsyncResult.HttpContext.Response.Flush();
                    _jsonHelperQandAns.status = 10; // Continue Game
                    _jsonHelperQandAns.message = StaticMembers._questionNumber + " / " + StaticMembers._questionListWas; ;
                    _jsonHelperQandAns.objData = StaticMembers.question;
                    _jsonHelperQandAns.listData = AnswerService.getAllByQuestionId(StaticMembers.question.id);
                    responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelperQandAns);
                    _curAsyncResult.HttpContext.Response.Write(responseJSON);
                    _curAsyncResult.CompleteRequest();
                    break;
                }
                // when games End - show last Game Result;
                JsonHelper<Game> _jsonHelperGameResult = new JsonHelper<Game>();
                _jsonHelperGameResult.status = 20; // end game
                _jsonHelperGameResult.objData = _gameService.GetPlayersLastGameResult(StaticMembers._game.player_id);
                responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelperGameResult);
                _curAsyncResult.HttpContext.Response.Write(responseJSON);
                _curAsyncResult.CompleteRequest();
                break;

            case "getUserInfo":

                string _email = _curAsyncResult.HttpContext.Session["Email"].ToString();
                PlayerService playerService = new PlayerService();
                Player player = playerService.FindByEmail(_email);
                HttpCookie userId = new HttpCookie("userId", player.id.ToString());
                _jsonHelper.status = 30; // 30  Fresh user info Loaded
                _jsonHelper.userData = PlayerService.GetProfileInfo(player.id); // returns Players Info
                _jsonHelper.userGamesData = PlayerService.GetPlayerAllStats(player.id); // returns all info about users games
                responseJSON = Newtonsoft.Json.JsonConvert.SerializeObject(_jsonHelper);
                _curAsyncResult.HttpContext.Response.Write(responseJSON);
                _curAsyncResult.CompleteRequest();
                break;

        }
    }
 public override object GetResponse()
 {
     DoRequest();
     JsonHelper jsonHelper = new JsonHelper(mResponse);
     return UInt64.Parse(jsonHelper.GetVal("Counts"));
 }
Пример #46
0
        /// <summary>
        /// 使用优惠券
        /// </summary>
        /// <param name="dicPar"></param>
        public void AddCoupon(Dictionary <string, object> dicPar)
        {
            //要检测的参数信息
            List <string> pra = new List <string>()
            {
                "key", "buscode", "stocode", "billcode", "couponinfo"
            };

            //检测方法需要的参数
            if (!CheckActionParameters(dicPar, pra))
            {
                return;
            }
            //获取参数信息
            string guid     = "1";
            string uid      = "1";
            string buscode  = dicPar["buscode"].ToString();
            string stocode  = dicPar["stocode"].ToString();
            string billcode = dicPar["billcode"].ToString();
            //string couponJson = dicPar["couponinfo"].ToString();
            string  memcode   = "";
            dynamic couponObj = dicPar["couponinfo"];
            string  paymethod = couponObj["usepaytype"].ToString();
            //获取账单详情、菜品详情
            DataSet   ds       = new bllTB_Bill().GetDetail("", "", billcode, stocode, "");
            DataTable dtBill   = ds.Tables[0];
            DataTable dtPay    = ds.Tables[1];
            DataTable dtDish   = ds.Tables[2];
            DataTable dtCoupon = ds.Tables[4];

            //使用优惠券
            if (dtBill != null && dtBill.Rows.Count > 0)
            {
                string BillCode  = dtBill.Rows[0]["PKCode"].ToString();
                string ShiftCode = dtBill.Rows[0]["ShiftCode"].ToString();
                memcode = dtBill.Rows[0]["CCode"].ToString();
                decimal ToPayMoney = StringHelper.StringToDecimal(dtBill.Rows[0]["ToPayMoney"].ToString());
                decimal PayMoney   = StringHelper.StringToDecimal(dtBill.Rows[0]["PayMoney"].ToString());
                if (PayMoney > 0)
                {
                    ReturnResultJson("1", "账单已有支付,无法使用优惠券");
                    return;
                }
                if (ToPayMoney <= 0)
                {
                    ReturnResultJson("1", "付款金额为0,无法使用优惠券。");
                    return;
                }

                //使用优惠券
                TB_BillCouponEntity CouponEntity = new TB_BillCouponEntity();
                CouponEntity.BusCode   = buscode;
                CouponEntity.StoCode   = stocode;
                CouponEntity.BillCode  = billcode;
                CouponEntity.ShiftCode = ShiftCode;
                CouponEntity.TicType   = "0";
                CouponEntity.TicWay    = "";
                string msg = OrderHelper.UseCoupon(billcode, couponObj, ToPayMoney, ref dtDish, ref CouponEntity, dtCoupon);
                if (string.IsNullOrWhiteSpace(msg))
                {
                    //线上验券
                    string        MemcardUrl = Helper.GetAppSettings("ServiceUrl") + "/coupon/WScheckcoupon.ashx";
                    StringBuilder postStr    = new StringBuilder();
                    postStr.Append("actionname=couponrecoverynew&usercode=" + uid + "&parameters={\"GUID\":\"" + guid + "\",\"USER_ID\":\"" + guid + "\",\"buscode\":\"" + buscode + "\",\"couponcode\":\"" + CouponEntity.CouponCode + "\",\"stocode\":\"" + stocode + "\",\"way\":\"PC\",\"username\":\"线上点餐\",\"usercode\":\"" + memcode + "\",\"orderno\":\"" + billcode + "\"}");
                    string strAdminJson = Helper.HttpWebRequestByURL(MemcardUrl, postStr.ToString());
                    if (!string.IsNullOrEmpty(strAdminJson))
                    {
                        string  checkmsg       = string.Empty;
                        string  status         = string.Empty;
                        DataSet dsCheckCcoupon = JsonHelper.JsonToDataSet(strAdminJson, out status, out checkmsg);
                        if (status == "0")
                        {
                            //添加使用券记录
                            string    id       = "";
                            DataTable dtAdd    = new BLL.bllTB_BillCoupon().Add("", "", id, buscode, stocode, "", "线上点餐", "1", CouponEntity.BillCode, CouponEntity.CouponCode, CouponEntity.CouponMoney.ToString(), "", CouponEntity.RealPay.ToString(), CouponEntity.VIMoney.ToString(), CouponEntity.Remark, CouponEntity.UseType, ShiftCode, CouponEntity.CouponName, CouponEntity.McCode, CouponEntity.TicType, CouponEntity.TicWay);
                            string    restatus = "1";
                            string    remsg    = "优惠券使用失败";
                            if (dtAdd != null && dtAdd.Rows.Count > 0)
                            {
                                restatus = "0";
                                remsg    = "优惠券使用成功";
                                //更新菜品和账单信息
                                dtCoupon.Rows.Add(CouponEntity.CouponName, CouponEntity.CouponCode, CouponEntity.CouponMoney, CouponEntity.RealPay, CouponEntity.VIMoney, CouponEntity.BillCode, CouponEntity.McCode);
                                dtCoupon.AcceptChanges();
                                OrderHelper.ResetBillMoney(ref dtBill, dtDish, dtCoupon);
                                dtBill.Rows[0]["PayMethod"] = paymethod;
                                UpdateBillAndDish(dtBill, dtDish);
                                RefreshBill(billcode, stocode, "");
                                return;
                            }
                            if (restatus != "0")
                            {
                                //执行取消优惠券接口
                                postStr = new StringBuilder();
                                postStr.Append("actionname=couponrecoverycancelnew&usercode=" + uid + "&parameters=" +
                                               "{\"GUID\":\"" + guid + "\"," +
                                               "\"USER_ID\":\"" + guid + "\"," +
                                               "\"buscode\":\"" + buscode + "\"," +
                                               "\"couponcode\":\"" + CouponEntity.CouponCode + "\"," +
                                               "\"stocode\":\"" + stocode + "\"," +
                                               "\"username\":\"线上点餐\"," +
                                               "\"usercode\":\"" + memcode + "\"," +
                                               "\"way\":\"App\"}");
                                Helper.HttpWebRequestByURL(MemcardUrl, postStr.ToString());
                            }
                            ReturnResultJson(restatus, checkmsg);
                            return;
                        }
                    }
                    ReturnResultJson("1", "线上消券错误");
                    return;
                }
                else
                {
                    ReturnResultJson("1", msg);
                    return;
                }
            }
            else
            {
                ReturnResultJson("1", "账单获取错误,请重试");
            }
        }
Пример #47
0
        protected void Register_Click(object sender, EventArgs e)
        {
            uidForImage = Guid.NewGuid();
            string fileName = System.IO.Path.GetFileName(PictureUpload.PostedFile.FileName);
            _playerService = new PlayerService();
            _jsonHelper = new JsonHelper<Object>();
            Player newPlayer = new Player();
            newPlayer.username = RegisterUsername.Text;
            newPlayer.email = RegisterEmail.Text;
            // kod zashivrovali v settere
            newPlayer.password = RegisterPassword.Text;
            newPlayer.image = uidForImage + fileName;
            newPlayer.registration_date = DateTime.Now;

            if (!_playerService.CheckIfExists(newPlayer))
            {
                // do stuff here to log the user in ...
                if (_playerService.Insert(newPlayer))
                {
                    UploadImage(sender, e);
                    Login(newPlayer.email, newPlayer.password);
                }
            }
            else
            {
                string message = "<div class='alert alert-warning'>This email is registered,Please login or register another one</div>";
                Alert.Text = message;
                Response.Redirect("Home.aspx");
            }
        }
Пример #48
0
        /// <summary>
        ///添加支付信息
        /// </summary>
        /// <param name="dicPar"></param>
        public void AddWxPay(Dictionary <string, object> dicPar)
        {
            //要检测的参数信息
            List <string> pra = new List <string>()
            {
                "key", "buscode", "stocode", "memcode", "billcode", "paymoney", "openid"
            };

            //检测方法需要的参数
            if (!CheckActionParameters(dicPar, pra))
            {
                return;
            }
            //获取参数信息
            string GUID          = "";
            string USER_ID       = "";
            string Id            = "0";
            string BusCode       = dicPar["buscode"].ToString();
            string StoCode       = dicPar["stocode"].ToString();
            string CCode         = dicPar["memcode"].ToString();
            string CCname        = dicPar["memcode"].ToString();
            string TStatus       = "0";
            string PKCode        = "0";
            string BillCode      = dicPar["billcode"].ToString();
            string PayMoney      = dicPar["paymoney"].ToString();
            string PayMethodName = "微信支付";
            string PayMethodCode = "2";
            string Remar         = "";
            string OutOrderCode  = "";
            string PPKCode       = "";
            string openid        = dicPar["openid"].ToString();

            //获取账单详情、菜品详情
            DataSet   ds       = new bllTB_Bill().GetDetail("", "", BillCode, StoCode, "");
            DataTable dtBill   = ds.Tables[0];
            DataTable dtPay    = ds.Tables[1];
            DataTable dtDish   = ds.Tables[2];
            DataTable dtTable  = ds.Tables[3];
            DataTable dtCoupon = ds.Tables[4];

            if (dtBill == null || dtBill.Rows.Count < 1)
            {
                ReturnResultJson("1", "账单信息获取失败");
                return;
            }
            //账单信息
            string DiscountMoney = dtBill.Rows[0]["DiscountMoney"].ToString();
            string DiscountName  = dtBill.Rows[0]["DiscountName"].ToString();
            string ZeroCutMoney  = dtBill.Rows[0]["ZeroCutMoney"].ToString();
            string AuthCode      = "";
            string AuthName      = "";

            //调用逻辑
            new bllTB_BillPay().Add(GUID, USER_ID, Id, BusCode, StoCode, CCode, CCname, TStatus, PKCode, BillCode, PayMoney, PayMethodName, PayMethodCode, Remar, OutOrderCode, PPKCode, DiscountName, DiscountMoney, ZeroCutMoney, AuthCode, AuthName, "", "", "0", "", "");
            if (PKCode.Length > 4)
            {
                switch (PayMethodCode)
                {
                case "2":    //微信支付
                    string        WxUrl     = Helper.GetAppSettings("ServiceUrl") + "/networkpay/WxPayEx.ashx";
                    StringBuilder wxPostStr = new StringBuilder();
                    wxPostStr.Append("actionname=getpayparms&parameters={" +
                                     string.Format("'GUID':'{0}'", GUID) +
                                     string.Format(",'USER_ID': '{0}'", USER_ID) +
                                     string.Format(",'buscode': '{0}'", BusCode) + //商户编号
                                     string.Format(",'stocode': '{0}'", StoCode) + //门店编号
                                     string.Format(",'openid': '{0}'", openid) +   //openid
                                     string.Format(",'orderno': '{0}'", PKCode) +  //支付单号
                                     string.Format(",'money': '{0}'", PayMoney) +  //订单金额
                                     string.Format(",'callback': '{0}'", HttpUtility.UrlEncode(Helper.GetAppSettings("StoBackRoot") + "/App/Ws_Bill.ashx?actionname=i_refreshWxPay&parameters={\"payno\":\"" + PKCode + "\",\"buscode\":\"" + BusCode + "\",\"stocode\":\"" + StoCode + "\"}")) +
                                     "}");                                         //键值对
                    string wxResultJson = Helper.HttpWebRequestByURL(WxUrl, wxPostStr.ToString());
                    string wxPayStatus  = JsonHelper.GetJsonValByKey(wxResultJson, "status");
                    if (wxPayStatus == "0")
                    {
                        dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(wxResultJson);
                        ReturnJsonStr("{\"code\":0,\"msg\":" + jsonObj["mes"].ToString() + "}");
                    }
                    else
                    {
                        ReturnResultJson("1", "请求微信支付失败");
                    }
                    break;
                }
            }
            else
            {
                ReturnResultJson("1", "支付失败");
            }
        }
Пример #49
0
        /// <summary>
        /// 取消支付
        /// </summary>
        /// <param name="dicPar"></param>
        public void CancelPay(Dictionary <string, object> dicPar)
        {
            //要检测的参数信息
            List <string> pra = new List <string>()
            {
                "key", "buscode", "stocode", "billcode", "memcode"
            };

            //检测方法需要的参数
            if (!CheckActionParameters(dicPar, pra))
            {
                return;
            }
            string buscode  = dicPar["buscode"].ToString();
            string stocode  = dicPar["stocode"].ToString();
            string billcode = dicPar["billcode"].ToString();
            string memcode  = dicPar["memcode"].ToString();
            //检查账单的状态,是否能进行反结
            TB_BillEntity billEntity = new bllTB_Bill().GetEntitySigInfo(" where PKCode='" + billcode + "' and StoCode='" + stocode + "'");

            if (billEntity == null || billEntity.TStatus != "2")
            {
                ReturnResultJson("1", "账单无法取消支付!");
                return;
            }
            //获取改账单的支付方式
            int       nums      = 0;
            string    filter    = " where BillCode='" + billcode + "' and PayMethodCode='7'  and TStatus='1' ";
            DataTable dtBillPay = new bllTB_BillPay().GetPagingListInfo("", "", int.MaxValue, 1, filter, "", out nums, out nums);
            //反结
            string msg = "反结成功";

            if (dtBillPay != null && dtBillPay.Rows.Count > 0)
            {
                foreach (DataRow dr in dtBillPay.Rows)
                {
                    string PKCode        = "";
                    string PayMoney      = dr["PayMoney"].ToString();
                    string Remar         = dr["Remar"].ToString();
                    string OutOrderCode  = "";
                    string PPKCode       = dr["PKCode"].ToString();
                    string PayMethodCode = "";
                    string memcard       = dr["MemberCard"].ToString();

                    new bllTB_BillPay().Back("", "", buscode, stocode, memcode, "小程序", "2", out PKCode, PayMoney, Remar, out OutOrderCode, PPKCode, out PayMethodCode);
                    if (PKCode.Length > 4)
                    {
                        string        MemUrl     = Helper.GetAppSettings("ServiceUrl") + "/memcardpay/memcardreturn.ashx";
                        StringBuilder memPostStr = new StringBuilder();
                        memPostStr.Append("actionname=cardpayreturnnew&parameters={" +
                                          string.Format("'GUID':'{0}'", memcode) +
                                          string.Format(",'USER_ID': '{0}'", memcode) +
                                          string.Format(",'buscode': '{0}'", buscode) +      //商户编号
                                          string.Format(",'stocode': '{0}'", stocode) +      //门店编号
                                          string.Format(",'terminalType': '{0}'", "App") +   //终端编号
                                          string.Format(",'ucode': '{0}'", memcode) +        //操作人编号
                                          string.Format(",'uname': '{0}'", "小程序") +          //操作人姓名
                                          string.Format(",'paycode': '{0}'", billcode) +     //主支付编号
                                          string.Format(",'vicepaycode': '{0}'", PKCode) +   //副支付编号
                                          string.Format(",'rvicepaycode': '{0}'", PPKCode) + //待反结副支付编号
                                          string.Format(",'couponcode': '{0}'", "") +        //优惠券编号(多个以英文逗号分隔)
                                          string.Format(",'cardcode': '{0}'", memcard) +     //卡号
                                          string.Format(",'expend': '{0}'", PayMoney) +      //消费金额
                                          string.Format(",'isopen': '{0}'", "0") +           //是否开票
                                          string.Format(",'invamount': '{0}'", "0") +        //开票金额
                                          string.Format(",'addint': '{0}'", "0") +           //可积积分
                                          string.Format(",'deductionint': '{0}'", "0") +     //抵扣积分
                                          "}");                                              //键值对
                        string memResultJson = Helper.HttpWebRequestByURL(MemUrl, memPostStr.ToString());
                        string memPayStatus  = JsonHelper.GetJsonValByKey(memResultJson, "status");
                        if (memPayStatus != "0")
                        {
                            msg = "有支付反结失败,请重试";
                            new bllTB_BillPay().Delete(memcode, memcode, PKCode, stocode);
                            break;
                        }
                    }
                }
            }
            RefreshBill(billcode, stocode, msg);
        }
 public void ItShouldHandleSerializationException()
 {
     JsonHelper instance = new JsonHelper();
     TestObject oops = instance.ToObject<TestObject>("{{\"property\": he");
 }
Пример #51
0
        /// <summary>
        /// 返回分页后的JSON字符串
        /// </summary>
        /// <param name="SelectColumns">将展示的字段</param>
        /// <param name="KeyID">主键ID</param>
        /// <param name="TableName">表名</param>
        /// <param name="strWhere">条件查询</param>
        /// <param name="strOrder">排序</param>
        /// <param name="DBConn">数据库连接</param>
        /// <param name="start"></param>
        /// <param name="limit"></param>
        /// <param name="isDistinct">过滤重复值</param>
        /// <returns></returns>
        public static string GetPageMethod(string SelectColumns, string KeyID, string TableName, string strWhere, string strOrder, int start, int limit, bool isDistinct)
        {
            #region 参数判定
            if (string.IsNullOrEmpty(SelectColumns)) { return "{total:1,success:true,error:'',data:[{'info':'执行分页方法错误,原因为:缺失参数:SelectColumns!'}]}"; }
            if (string.IsNullOrEmpty(KeyID)) { return "{total:1,success:true,error:'',data:[{'info':'执行分页方法错误,原因为:缺失参数:KeyID!'}]}"; }
            if (string.IsNullOrEmpty(TableName)) { return "{total:1,success:true,error:'',data:[{'info':'执行分页方法错误,原因为:缺失参数:TableName!'}]}"; }
            if (string.IsNullOrEmpty(start.ToString())) { return "{total:1,success:true,error:'',data:[{'info':'执行分页方法错误,原因为:缺失参数:start!'}]}"; }
            if (string.IsNullOrEmpty(limit.ToString())) { return "{total:1,success:true,error:'',data:[{'info':'执行分页方法错误,原因为:缺失参数:limit!'}]}"; }
            #endregion
            try
            {

                StringBuilder strSql = new StringBuilder();
                strSql.Append("select " + (isDistinct ? "distinct" : string.Empty) + " top {0} {2} ");
                strSql.Append(" FROM {4} ");
                strSql.Append(" where {3} not in (select " + (isDistinct ? "distinct" : string.Empty) + " top {1} {3} from {4} {7} {6} ) {5} {6};");
                string sql = strSql.ToString();
                strWhere = strWhere.Trim();

                if (!string.IsNullOrEmpty(strOrder))
                {
                    strOrder = " order by " + strOrder;
                }

                if (KeyID.Equals(string.Empty))
                {
                    KeyID = DataSource.Query("Execute sp_pkeys '" + TableName + "'").Tables[0].Rows[0]["PK_NAME"].ToString();
                }
                if (strWhere.ToLower().IndexOf("and") == 0)
                {
                    strWhere = strWhere.Substring(strWhere.IndexOf("and") + 3);
                }
                sql = string.Format(sql, limit, start, SelectColumns, KeyID, TableName, strWhere.Equals(string.Empty) ? string.Empty : " and " + strWhere, strOrder, strWhere.Equals(string.Empty) ? string.Empty : " where " + strWhere);

                DataTable dt = DataSource.Query(sql).Tables[0];

                JsonHelper json = new JsonHelper();
                json.totlal = 0;
                json.success = true;
                if (dt.Rows.Count > 0)
                {
                    int totalCount = 0;
                    string sqlCount = "select count(" + (isDistinct ? "distinct" : string.Empty) + " {0}) as cou from {1} {2}";
                    if (!string.IsNullOrEmpty(strWhere))
                    {
                        strWhere = " where  " + strWhere;
                    }
                    sqlCount = string.Format(sqlCount, KeyID, TableName, strWhere);
                    object obj = DataSource.Query(sqlCount).Tables[0].Rows[0]["cou"];
                    if (obj != null) totalCount = int.Parse(obj.ToString());

                    json.totlal = totalCount;
                    json.success = true;
                    foreach (DataRow dr in dt.Rows)
                    {
                        foreach (DataColumn dc in dt.Columns)
                        {
                            json.AddItem(dc.ColumnName.ToString(), dr[dc.ColumnName].ToString().Replace("\"", "\\\"").Replace("\r", "").Replace("\n", ""));
                        }
                        json.ItemOk();
                    }
                }
                return json.ToString();
            }
            catch (Exception error) { return "{total:1,success:true,error:'',data:[{'info':'执行分页方法错误,原因为:" + error.Message + "'}]}"; }
        }