public ResultOrder getOrder([FromBody] MODEL.Criteria.reqOrder req)
        {
            ResultOrder result = new ResultOrder();

            result.ResultOk = "false";
            RestaurantBLL sv = new RestaurantBLL();

            try
            {
                result = sv.getOrderList(req);

                //Veriy Data
                //result.ResultOk = "Success";
                //for (int i = 0; i < req.listFood.Count; i++)
                //{
                //    result.ReturnMessage += req.listFood[i].foodID + ",";
                //}
                //if (req != null)
                //{

                //return sv.InsertMenu(req);

                //}
            }
            catch (Exception e)
            {
                result.ErroMessage = e.Message;
                result.ResultOk    = "false";
            }
            return(result);
        }
Exemple #2
0
        static void RetrieveRowsByIndex()
        {
            List <string> returnFields = new List <string> {
                "firstname", "lastname", "age"
            };

            for (int i = 10; i < 20; i++)
            {
                Expression e = new Expression
                {
                    LeftTerm  = new Expression("id", Operators.GreaterThan, 1),
                    Operator  = Operators.And,
                    RightTerm = new Expression("age", Operators.LessThan, 50)
                };

                //
                // Yes, personId and age should be the same, however, the example
                // is here to show how to build a nested expression
                //

                ResultOrder[] resultOrder = new ResultOrder[1];
                resultOrder[0] = new ResultOrder("id", OrderDirection.Ascending);

                _Database.Select(_Table, (i - 10), 5, returnFields, e, resultOrder);
            }
        }
Exemple #3
0
        /// <summary>
        /// SELECT multiple rows.
        /// This operation will return an empty list if no matching objects are found.
        /// The ordering used in the underlying query is ascending based on primary key column.
        /// </summary>
        /// <typeparam name="T">Type of object.</typeparam>
        /// <param name="expr">Expression.</param>
        /// <returns>List of objects.</returns>
        public List <T> SelectMany <T>(DbExpression expr) where T : class, new()
        {
            if (!_Initialized)
            {
                throw new InvalidOperationException("Initialize WatsonORM and database using the .InitializeDatabase() method first.");
            }
            if (expr == null)
            {
                throw new ArgumentNullException(nameof(expr));
            }

            string tableName            = _TypeMetadataMgr.GetTableNameFromType(typeof(T));
            string primaryKeyColumnName = _TypeMetadataMgr.GetPrimaryKeyColumnName(typeof(T));

            Expression e = WatsonORMCommon.DbExpressionConverter(expr);

            e.PrependAnd(primaryKeyColumnName, WatsonORMCommon.DbOperatorsConverter(DbOperators.IsNotNull), null);

            ResultOrder[] resultOrder = new ResultOrder[1];
            resultOrder[0] = new ResultOrder(primaryKeyColumnName, OrderDirection.Ascending);

            DataTable result = _Database.Select(tableName, null, null, null, e, resultOrder);

            return(DataTableToObjectList <T>(result));
        }
Exemple #4
0
        static void RetrieveRowsSorted()
        {
            List <string> returnFields = new List <string> {
                "firstname", "lastname", "age"
            };
            Expression e = Expression.Between("id", new List <object> {
                10, 20
            });

            Console.WriteLine("Expression: " + e.ToString());
            ResultOrder[] resultOrder = new ResultOrder[1];
            resultOrder[0] = new ResultOrder("firstname", OrderDirection.Ascending);
            _Database.Select(_Table, null, null, returnFields, e, resultOrder);
        }
Exemple #5
0
        public ActionResult Order()
        {
            var   cats        = Session["cats"] as Cats;
            var   catsList    = Session["catsList"] as List <Cats>;
            var   orders      = Session["resultOrders"] as List <ResultOrder>;
            var   receiptList = Session["receipts"] as Dictionary <Order, Receipt>;
            Order order       = new Order {
                id = Guid.NewGuid().ToString()
            };
            ResultOrder resOrder = new ResultOrder {
                orderId = order.id, success = true
            };
            Receipt rec = new Receipt()
            {
                status = "bekräftad", sum = cats.totalPrice()
            };

            if (cats != null)
            {
                Session["NewOrder"] = null;
                if (orders != null)
                {
                    receiptList.Add(order, rec);
                    orders.Add(resOrder);
                }
                else
                {
                    Dictionary <Order, Receipt> receipts = new Dictionary <Order, Receipt>();
                    receipts.Add(order, rec);
                    Session["receipts"] = receipts;
                    List <ResultOrder> orderList = new List <ResultOrder>();
                    orderList.Add(resOrder);
                    Session["ResultOrders"] = orderList;
                }

                ViewBag.Message    = "din order är bekräftad: " + order.id;
                ViewBag.totalPrice = rec.sum;
                ViewBag.status     = rec.status;

                return(View(cats));
            }
            else
            {
                TempData["WrongKart"] = "fel Order";
                return(RedirectToAction("OrderKart", "order"));
            }
        }
Exemple #6
0
 /// <summary>
 /// Convert a WatsonORM DbResultOrder[] to a DatabaseWrapper ResultOrder[].
 /// </summary>
 /// <param name="resultOrder">DbResultOrder array.</param>
 /// <returns>ResultOrder array.</returns>
 public static ResultOrder[] ConvertToResultOrder(DbResultOrder[] resultOrder)
 {
     if (resultOrder == null || resultOrder.Length < 1)
     {
         return(null);
     }
     ResultOrder[] ret = new ResultOrder[resultOrder.Length];
     for (int i = 0; i < resultOrder.Length; i++)
     {
         if (resultOrder[i].Direction == DbOrderDirection.Ascending)
         {
             ret[i] = new ResultOrder(resultOrder[i].ColumnName, OrderDirection.Ascending);
         }
         else if (resultOrder[i].Direction == DbOrderDirection.Descending)
         {
             ret[i] = new ResultOrder(resultOrder[i].ColumnName, OrderDirection.Descending);
         }
     }
     return(ret);
 }
        public static List <WreckageResult> Sort(List <WreckageResult> results, ResultOrder order)
        {
            if (results == null || results.Count <= 1)
            {
                return(results);
            }

            if (order == ResultOrder.BodyPoint)
            {
                results.Sort(CompareWreckageResultByBodyPoint);
            }
            else if (order == ResultOrder.TotalNum)
            {
                results.Sort(CompareWreckageResultByTotalNum);
            }
            else
            {
                results.Sort(CompareWreckageResultByDelta);
            }
            return(results);
        }
Exemple #8
0
 static public bool SetDiffByOrdering <T>(this IEnumerable <T> enumerableOut, IEnumerable <T> enumerableIn, out IEnumerable <T> added, out IEnumerable <T> removed, out IEnumerable <T> conserved, ResultOrder resultOrder = ResultOrder.Conserved)
     where T : IComparable <T>
 {
     return(SetDiffByOrdering(enumerableOut, enumerableIn, new ComparisonComparer <T>((x, y) => x.CompareTo(y)), out added, out removed, out conserved, resultOrder));
 }
Exemple #9
0
        static async Task GetTableSelect(RequestMetadata md)
        {
            string dbName    = md.Http.Request.Url.Elements[0];
            string tableName = md.Http.Request.Url.Elements[1];
            int    idVal     = 0;

            if (md.Http.Request.Url.Elements.Length == 3)
            {
                Int32.TryParse(md.Http.Request.Url.Elements[2], out idVal);
            }

            Table currTable = _Databases.GetTableByName(dbName, tableName);

            if (currTable == null)
            {
                md.Http.Response.StatusCode  = 404;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.NotFound, "The requested object was not found", null), true));

                return;
            }

            DatabaseClient db = _Databases.GetDatabaseClient(dbName);

            if (db == null)
            {
                md.Http.Response.StatusCode  = 404;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.NotFound, "The requested object was not found", null), true));

                return;
            }

            #region Check-for-Describe

            if (md.Params.Describe)
            {
                md.Http.Response.StatusCode  = 200;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(currTable, true));

                return;
            }

            #endregion

            #region Retrieve-Objects

            DataTable     result      = null;
            Expr          filter      = null;
            ResultOrder[] resultOrder = new ResultOrder[1];
            resultOrder[0] = new ResultOrder(currTable.PrimaryKey, OrderDirection.Ascending);

            if (idVal > 0)
            {
                if (String.IsNullOrEmpty(currTable.PrimaryKey))
                {
                    _Logging.Warn("GetTable no primary key defined for table " + tableName + " in database " + dbName);
                    md.Http.Response.StatusCode  = 400;
                    md.Http.Response.ContentType = "application/json";
                    await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.InvalidRequest, "Invalid request", "No primary key for table " + tableName), true));

                    return;
                }

                filter = new Expr(currTable.PrimaryKey, OperatorEnum.Equals, idVal);
            }

            if (md.Http.Request.Query.Elements != null && md.Http.Request.Query.Elements.Count > 0)
            {
                foreach (KeyValuePair <string, string> currKvp in md.Http.Request.Query.Elements)
                {
                    if (Constants.QueryKeys.Contains(currKvp.Key))
                    {
                        continue;
                    }
                    if (filter == null)
                    {
                        filter = new Expr(currKvp.Key, OperatorEnum.Equals, currKvp.Value);
                    }
                    else
                    {
                        filter = Expr.PrependAndClause(
                            new Expr(currKvp.Key, OperatorEnum.Equals, currKvp.Value),
                            filter);
                    }
                }
            }

            if (md.Params.OrderBy != null && md.Params.OrderBy.Count > 0)
            {
                List <ResultOrder> resultOrderList = new List <ResultOrder>();

                foreach (string curr in md.Params.OrderBy)
                {
                    if (md.Params.OrderDirection == OrderDirectionEnum.Descending)
                    {
                        ResultOrder ro = new ResultOrder(curr, OrderDirection.Descending);
                    }
                    else if (md.Params.OrderDirection == OrderDirectionEnum.Ascending)
                    {
                        ResultOrder ro = new ResultOrder(curr, OrderDirection.Ascending);
                    }
                }

                if (resultOrderList.Count > 0)
                {
                    resultOrder = new ResultOrder[resultOrderList.Count];
                    for (int i = 0; i < resultOrderList.Count; i++)
                    {
                        resultOrder[i] = resultOrderList[i];
                    }
                }
            }

            result = db.Select(
                tableName,
                md.Params.IndexStart,
                md.Params.MaxResults,
                md.Params.ReturnFields,
                filter,
                resultOrder);

            if (result == null || result.Rows.Count < 1)
            {
                md.Http.Response.StatusCode  = 200;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(new List <dynamic>(), true));

                return;
            }
            else
            {
                md.Http.Response.StatusCode  = 200;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(Common.DataTableToListDynamic(result), true));

                return;
            }

            #endregion
        }
Exemple #10
0
        public ResultOrder GetShopOrderNew(NTS.WEB.DataContact.QueryOrderObjects query)
        {
            try
            {
                string keyCatch = string.Empty;
                foreach (var q in query.AreaIdLst)
                {
                    keyCatch += q.ToString() + "_";
                }
                keyCatch += query.ItemCode + query.StartTime + query.EndTime + query.QueryType + query.ObjType;
                if (CacheHelper.GetCache(keyCatch) != null)
                {
                    return((ResultOrder)CacheHelper.GetCache(keyCatch));
                }

                VerifyPersonOrAreaExist(query);


                #region 返回对象定义
                ResultOrder resultOrder = new ResultOrder();
                resultOrder.lineHighChart = new LineHighChart()
                {
                    series =
                        new List <Series>()
                };
                resultOrder.lineHighChart.series.Add(new Series()
                {
                    data = new List <EneryHighChart>()
                });
                resultOrder.pieHighChart = new PieHighChart()
                {
                    series =
                        new List <Series>()
                };
                resultOrder.pieHighChart.series.Add(new Series()
                {
                    data = new List <EneryHighChart>()
                });

                resultOrder.OrderLst = new List <EnergyOrder>();
                #endregion

                List <Model.Itemcode> itemCodeList = new List <Model.Itemcode>();
                if (query.ItemCode == "00000")
                {                           //总能耗
                    itemCodeList     = new BLL.Itemcode().GetItemcodeList(" and ParentID=0 ", " order by ItemcodeID");
                    resultOrder.Unit = "T"; //标准煤单位
                }
                else
                {
                    itemCodeList = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID");
                    if (itemCodeList.Count > 0)
                    {
                        resultOrder.Unit = itemCodeList[0].Unit;//单个分类分项单位
                    }
                }
                switch (query.QueryType)
                {
                case EnergyAnalyseQueryType.Convert2Co2:
                case EnergyAnalyseQueryType.Convert2Coal:
                    resultOrder.Unit = "T";     //标准煤单位
                    break;

                case EnergyAnalyseQueryType.Convert2Money:
                    resultOrder.Unit = "元";    //标准煤单位
                    break;
                }
                Dictionary <string, decimal> tempConvert       = new Dictionary <string, decimal>();
                Dictionary <string, int>     tempObjectConvert = new Dictionary <string, int>();
                var model = new BaseQueryModel();
                model.IsDevice   = 0;
                model.ObjectList = query.AreaIdLst;
                //model.Unit = GetUnit(query.StartTime, query.EndTime);
                model.Unit = BaseTool.GetChartUnit(query.Particle);

                if (model.Unit == ChartUnit.unit_month)
                {
                    model.Starttime = Convert.ToDateTime(query.StartTime.ToString("yyyy-MM-1"));
                    model.Endtime   = Convert.ToDateTime(query.EndTime.ToString("yyyy-MM-1"));
                }
                else
                {
                    model.Starttime = query.StartTime;
                    model.Endtime   = query.EndTime;
                }
                foreach (var item in itemCodeList)
                {
                    model.ItemCode = item.ItemCodeNumber;
                    BaseResult resList = reportBll.GetBaseEneryDataList(model, query.ObjType == AreaType.Liquid ? true : false);
                    if (resList == null)
                    {
                        continue;
                    }
                    foreach (var r in resList.BaseLayerObjectResults)
                    {
                        if (!tempConvert.ContainsKey(r.Value.baseLayerObject.LayerObjectName))
                        {
                            tempConvert.Add(r.Value.baseLayerObject.LayerObjectName, 0);
                        }
                        if (!tempObjectConvert.ContainsKey(r.Value.baseLayerObject.LayerObjectName))
                        {
                            tempObjectConvert.Add(r.Value.baseLayerObject.LayerObjectName, r.Value.baseLayerObject.LayerObjectID);
                        }
                        if (tempConvert.ContainsKey(r.Value.baseLayerObject.LayerObjectName))
                        {
                            if (query.ItemCode == "00000")
                            {//选择总能耗后把其他分类分项的能耗转化成标准煤
                                switch (query.QueryType)
                                {
                                case EnergyAnalyseQueryType.Default:                                        //默认总能耗
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCOAL"].ToString()); //
                                    break;

                                case EnergyAnalyseQueryType.UnitArea:    //单位面积能耗
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCOAL"].ToString()) /
                                        decimal.Parse(r.Value.baseLayerObject.AreaNum.ToString());
                                    break;

                                case EnergyAnalyseQueryType.UnitPerson:    //人均能耗
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCOAL"].ToString()) /
                                        decimal.Parse(r.Value.baseLayerObject.PersonNum.ToString());
                                    break;

                                case EnergyAnalyseQueryType.Convert2Coal:    //标准煤
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCOAL"].ToString());
                                    break;

                                case EnergyAnalyseQueryType.Convert2Co2:    //二氧化碳
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCO2"].ToString());
                                    break;

                                case EnergyAnalyseQueryType.Convert2Money:    //人民币
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMMONEY"].ToString());
                                    break;

                                default:
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCOAL"].ToString());//
                                    break;
                                }
                            }
                            else
                            {
                                switch (query.QueryType)
                                {
                                case EnergyAnalyseQueryType.Default:     //默认总能耗
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] += r.Value.Total;
                                    break;

                                case EnergyAnalyseQueryType.UnitArea:    //单位面积能耗
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        r.Value.Total /
                                        decimal.Parse(r.Value.baseLayerObject.AreaNum.ToString());
                                    break;

                                case EnergyAnalyseQueryType.UnitPerson:    //人均能耗
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        r.Value.Total /
                                        decimal.Parse(r.Value.baseLayerObject.PersonNum.ToString());
                                    break;

                                case EnergyAnalyseQueryType.Convert2Coal:    //标准煤
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCOAL"].ToString());
                                    break;

                                case EnergyAnalyseQueryType.Convert2Co2:    //二氧化碳
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMCO2"].ToString());
                                    break;

                                case EnergyAnalyseQueryType.Convert2Money:    //人民币
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] +=
                                        decimal.Parse(r.Value.ConvertDataValueList["ITEMMONEY"].ToString());
                                    break;

                                default:
                                    tempConvert[r.Value.baseLayerObject.LayerObjectName] += r.Value.Total;
                                    break;
                                }
                            }
                        }
                    }
                }
                var tempAsc = from tt in tempConvert orderby tt.Value ascending select tt;//LineChart按照能耗值从低到高排序

                foreach (var tempConvertItem in tempAsc)
                {
                    resultOrder.lineHighChart.series[0].data.Add(new EneryHighChart()
                    {
                        name = tempConvertItem.Key,
                        id   = tempObjectConvert[tempConvertItem.Key].ToString(),
                        y    = decimal.Parse(tempConvertItem.Value.ToString("f2"))
                    });
                }

                var     tempDesc     = from tt in tempConvert orderby tt.Value descending select tt;//PieChart按照能耗值从高到低排序
                int     temppieindex = 1;
                decimal temppiecount = 0;
                foreach (var tempConvertItem in tempDesc)
                {
                    if (temppieindex < 6)
                    {
                        resultOrder.pieHighChart.series[0].data.Add(new EneryHighChart()
                        {
                            name = tempConvertItem.Key,
                            y    = decimal.Parse(tempConvertItem.Value.ToString("f2"))
                        });
                    }
                    else
                    {
                        temppiecount += decimal.Parse(tempConvertItem.Value.ToString("f2"));
                    }
                    temppieindex++;
                }
                if (temppieindex > 6)
                {
                    resultOrder.pieHighChart.series[0].data.Add(new EneryHighChart()
                    {
                        name = "其他",
                        y    = temppiecount
                    });
                }


                int order = 1;
                foreach (var tt in resultOrder.lineHighChart.series[0].data)
                {
                    resultOrder.OrderLst.Add(new EnergyOrder()
                    {
                        Order = order,
                        Tm    = model.Unit == ChartUnit.unit_hour ? query.StartTime.ToString("yyyy-MM-dd") : query.StartTime.ToString("yyyy-MM-dd") + "~" + query.EndTime.ToString("yyyy-MM-dd"),
                        Obj   = tt.name,
                        //ObjID=tempObjectConvert[tt.name],
                        Val     = tt.y,
                        EneType = itemCodeList.Count > 1 ? "总能耗" : itemCodeList[0].ItemCodeName
                    });
                    order++;
                }

                if (CacheHelper.GetCache(keyCatch) == null)
                {
                    CacheHelper.SetCache(keyCatch, resultOrder, 30);
                }
                return(resultOrder);
            }
            catch (Exception ee)
            {
                throw ee;
            }
        }
Exemple #11
0
 static public IEnumerable <TResult> JoinByOrdering <T, TResult>(this IEnumerable <T> enumerableOut, IEnumerable <T> enumerableIn, Func <T, T, TResult> resultSelector, ResultOrder resultOrder = ResultOrder.Conserved)
     where T : IComparable <T>
 {
     return(JoinByOrdering(enumerableOut, enumerableIn, x => x, x => x, resultSelector, new ComparisonComparer <T>((x, y) => x.CompareTo(y)), resultOrder));
 }
Exemple #12
0
        private IEnumerator RechageOnce(Coroutine co, ActivityServerControl _this)
        {
            InAppPurchase.ChargingState = ChargingState.GettingPayOrder;
            var data = new ConnectData
            {
                mType   = ConnectDataType.GetData,
                connect = InAppPurchase.PayDbConnection
            };

            //var order = InAppPurchase.PayDbConnection.GetWaittingResultOrder();
            yield return(_this.payDbManagerManager.DoOrder(co, data));

            ResultOrder order = null;
            string      platform;

            try
            {
                order = data.resultOrder;
                if (order == null)
                {
                    InAppPurchase.ChargingState = ChargingState.Waiting;
                    yield break;
                }

                RechargeLogger.Info("GetWaittingResultOrder  orderid : {0},playerid : {1},uid: {2} , channel:{3}",
                                    order.OrderId,
                                    order.PlayerId, order.Uid, order.Channel);
                RechargeLogger.Info("RechageOnce  get order channel:{0} step 1", order.Channel);

                var strs = order.Channel.Split('.');
                platform = strs[0];

                RechargeLogger.Info("RechageOnce  split channel, platfrom :{0} step 2", platform);

                InAppPurchase.ChargingState = ChargingState.AddingItem;

                RechargeLogger.Info(
                    "RechageOnce  ss to logic RechargeSuccess, playerid:{0}, platfrom:{1}, orderType:{2}, amount:{3},orderid:{4} step 3",
                    order.PlayerId, platform, order.PayType, order.Amount, order.OrderId);
            }
            catch (Exception)
            {
                InAppPurchase.ChargingState = ChargingState.Waiting;
                yield break;
            }

            var reslut = ActivityServer.Instance.LogicAgent.RechargeSuccess(order.PlayerId, platform, order.PayType,
                                                                            order.Amount, order.OrderId, order.Channel);

            yield return(reslut.SendAndWaitUntilDone(co));


            if (reslut.State == MessageState.Reply)
            {
                if (reslut.ErrorCode == (int)ErrorCodes.OK)
                {
                    RechargeLogger.Info("RechargeSuccess return ok ,orderid:{0} step 4", order.OrderId);
                    InAppPurchase.ChargingState = ChargingState.WriteOrderBack;

                    order.State = (short)eOrderState.Success;
                    var connectData = new ConnectData
                    {
                        resultOrder = order,
                        mType       = ConnectDataType.ModifyData,
                        connect     = InAppPurchase.PayDbConnection
                    };
                    yield return(_this.payDbManagerManager.DoOrder(co, connectData));
                    //InAppPurchase.PayDbConnection.UpdateResultOrderById(order.OrderId, eOrderState.Success);
                }
                else
                {
                    RechargeLogger.Error(
                        "ActivityServer.Instance.LogicAgent.RechargeSuccess return error ErrorCode = {0}!");
                    Logger.Error("ActivityServer.Instance.LogicAgent.RechargeSuccess return error ErrorCode = {0}!",
                                 reslut.ErrorCode);
                    order.State = (short)eOrderState.Error;
                    yield return(_this.payDbManagerManager.DoOrder(co, new ConnectData
                    {
                        resultOrder = order,
                        mType = ConnectDataType.ModifyData,
                        connect = InAppPurchase.PayDbConnection
                    }));
                    //InAppPurchase.PayDbConnection.UpdateResultOrderById(order.OrderId, eOrderState.Error);
                }
            }
            else
            {
                RechargeLogger.Error("ActivityServer.Instance.LogicAgent.RechargeSuccess did not reply!");
                Logger.Error("ActivityServer.Instance.LogicAgent.RechargeSuccess did not reply!");
            }

            InAppPurchase.ChargingState = ChargingState.Waiting;
            RechargeLogger.Info("RechageOnce finished oid:{1} step 5", order.OrderId);
        }
Exemple #13
0
        static public bool SetDiffByOrdering <T>(this IEnumerable <T> enumerableOut, IEnumerable <T> enumerableIn, IComparer <T> comparer, out IEnumerable <T> added, out IEnumerable <T> removed, out IEnumerable <T> conserved, ResultOrder resultOrder = ResultOrder.Conserved)
        {
            switch (resultOrder)
            {
            case ResultOrder.Conserved:
                IEnumerable <ItemIndexPair <T> > addedPair;
                IEnumerable <ItemIndexPair <T> > removedPair;
                IEnumerable <ItemIndexPair <T> > conservedPair;

                bool result = enumerableOut.Indexed().SetDiffByOrderingInternal(enumerableIn.Indexed(), x => x.Item, x => x.Item, comparer, out addedPair, out removedPair, out conservedPair);

                added     = addedPair.OrderBy(x => x.Index).Select(x => x.Item);
                removed   = removedPair.OrderBy(x => x.Index).Select(x => x.Item);
                conserved = conservedPair.OrderBy(x => x.Index).Select(x => x.Item);
                return(result);

            case ResultOrder.Neglected:
                return(enumerableOut.SetDiffByOrderingInternal(enumerableIn, x => x, x => x, comparer, out added, out removed, out conserved));

            default:
                throw new NotSupportedException();
            }
        }
Exemple #14
0
        public string ExportExcelDataRankingNew()
        {
            var inputValue = _ntsPage.Request.Form["Inputs"];


            var    query = Newtonsoft.Json.JsonConvert.DeserializeObject <QueryOrderObjects>(inputValue);
            string icode = query.ItemCode;

            query.QueryType = EnergyAnalyseQueryType.Default;
            ResultOrder resultAll = Framework.Common.BaseWcf.CreateChannel <ServiceInterface.IQueryEnery>("EneryQuery")
                                    .GetShopOrderNew(query);

            query.QueryType = EnergyAnalyseQueryType.UnitArea;

            ResultOrder resultArea = Framework.Common.BaseWcf.CreateChannel <ServiceInterface.IQueryEnery>("EneryQuery")
                                     .GetShopOrderNew(query);


            query.QueryType = EnergyAnalyseQueryType.UnitPerson;

            ResultOrder resultPerson = Framework.Common.BaseWcf.CreateChannel <ServiceInterface.IQueryEnery>("EneryQuery")
                                       .GetShopOrderNew(query);


            var dept   = string.Empty;
            var itList = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID");

            if (itList.Count > 0)
            {
                dept = itList[0].Unit;
            }

            string unit = icode == "00000" ? "T" : dept;
            //switch (query.QueryType)
            //{
            //    case EnergyAnalyseQueryType.Convert2Co2:
            //    case EnergyAnalyseQueryType.Convert2Coal:
            //        unit = "T";//标准煤单位
            //        break;
            //    case EnergyAnalyseQueryType.Convert2Money:
            //        unit = "元";//标准煤单位
            //        break;
            //}
            string itemCodeName = itList.Count == 0 ? "总能耗" : itList[0].ItemCodeName;


            try
            {
                if (query.AreaIdLst.Count > 0)
                {
                    DataTable dt = TableView.CreateOrderBaseDataTable();
                    for (var r = 0; r < resultAll.OrderLst.Count; r++)
                    {
                        DataRow dr = dt.NewRow();
                        dr[1] = resultAll.OrderLst[r].Obj;
                        dr[2] = query.AreaIdLst;
                        dr[3] = resultAll.OrderLst[r].Obj;
                        dr[4] = resultAll.OrderLst[r].Obj;
                        dr[5] = resultAll.OrderLst[r].Obj;
                        dr[6] = itemCodeName;
                        dr[7] = decimal.Round(decimal.Parse(resultAll.OrderLst[r].Val.ToString()), 2).ToString();
                        dr[8] = resultArea.OrderLst == null ? "0" : decimal.Round(decimal.Parse(resultArea.OrderLst[r].Val.ToString()), 2).ToString();
                        dr[9] = resultPerson.OrderLst == null ? "0" : decimal.Round(decimal.Parse(resultPerson.OrderLst[r].Val.ToString()), 2).ToString();

                        dt.Rows.Add(dr);
                    }
                    string temp_path = AppDomain.CurrentDomain.BaseDirectory + "temp_file\\";
                    if (!Directory.Exists(temp_path))
                    {
                        Directory.CreateDirectory(temp_path);
                        string[] files = Directory.GetFiles(temp_path);
                        foreach (string fn in files)
                        {
                            File.Delete(temp_path + fn);
                        }
                    }
                    string save_path = DateTime.Now.Ticks + ".xls";



                    string templatePath = AppDomain.CurrentDomain.BaseDirectory + "template\\新能耗排名表.xls";
                    if (!File.Exists(templatePath))
                    {
                        return("{\"status\":\"error\",\"msg\":\"未发现Excel模板文件\"}");
                    }
                    TemplateParam param = new TemplateParam(itemCodeName + " ", new CellParam(0, 0), query.StartTime.ToString("yyyy-MM-dd") + "~" + query.EndTime.ToString("yyyy-MM-dd"), new CellParam(3, 0), false, new CellParam(4, 0));
                    param.DataColumn   = new[] { 0, 3, 7, 8, 9 };
                    param.ItemUnit     = "(单位:" + unit + ")";
                    param.ItemUnitCell = new CellParam(3, 4);

                    param.SortColumn = 0;
                    dt.TableName     = "能耗排名表";

                    ExportHelper.ExportExcel(dt, temp_path + save_path, templatePath, param);

                    return("{\"status\":\"success\",\"msg\":\"" + "/temp_file/" + save_path + "\"}");
                }
                else
                {
                    return("{\"status\":\"error\",\"msg\":\"导出失败:当前无任何数据\"}");
                }
            }
            catch (Exception ex)
            {
                return("{\"status\":\"error\",\"msg\":\"导出失败:由于当前无数据或其他原因导致" + ex.Message + "\"}");
            }
        }
Exemple #15
0
        static async Task PutTable(RequestMetadata md)
        {
            string dbName    = md.Http.Request.Url.Elements[0];
            string tableName = md.Http.Request.Url.Elements[1];
            int    idVal     = 0;

            if (md.Http.Request.Url.Elements.Length == 3)
            {
                Int32.TryParse(md.Http.Request.Url.Elements[2], out idVal);
            }

            Table currTable = _Databases.GetTableByName(dbName, tableName);

            if (currTable == null)
            {
                md.Http.Response.StatusCode  = 404;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.NotFound, "The requested object was not found", null), true));

                return;
            }

            DatabaseClient db = _Databases.GetDatabaseClient(dbName);

            if (db == null)
            {
                md.Http.Response.StatusCode  = 404;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.NotFound, "The requested object was not found", null), true));

                return;
            }

            if (md.Http.Request.Data == null || md.Http.Request.ContentLength < 1)
            {
                _Logging.Warn("PutTable no request body supplied");
                md.Http.Response.StatusCode  = 400;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.MissingRequestBody, "Invalid request", "No request body supplied"), true));

                return;
            }

            if (idVal == 0 &&
                md.Http.Request.Url.Elements.Length == 2)
            {
                #region Search-Table

                Expr filter = SerializationHelper.DeserializeJsonExpression(md.Http.Request.DataAsBytes);

                ResultOrder[] resultOrder = new ResultOrder[1];
                resultOrder[0] = new ResultOrder(currTable.PrimaryKey, OrderDirection.Ascending);

                if (md.Http.Request.Query.Elements != null && md.Http.Request.Query.Elements.Count > 0)
                {
                    foreach (KeyValuePair <string, string> currKvp in md.Http.Request.Query.Elements)
                    {
                        if (Constants.QueryKeys.Contains(currKvp.Key))
                        {
                            continue;
                        }
                        filter = Expr.PrependAndClause(
                            new Expr(currKvp.Key, OperatorEnum.Equals, currKvp.Value),
                            filter);
                    }
                }

                if (md.Params.OrderBy != null && md.Params.OrderBy.Count > 0)
                {
                    List <ResultOrder> resultOrderList = new List <ResultOrder>();

                    foreach (string curr in md.Params.OrderBy)
                    {
                        if (md.Params.OrderDirection == OrderDirectionEnum.Descending)
                        {
                            ResultOrder ro = new ResultOrder(curr, OrderDirection.Descending);
                        }
                        else if (md.Params.OrderDirection == OrderDirectionEnum.Ascending)
                        {
                            ResultOrder ro = new ResultOrder(curr, OrderDirection.Ascending);
                        }
                    }

                    if (resultOrderList.Count > 0)
                    {
                        resultOrder = new ResultOrder[resultOrderList.Count];
                        for (int i = 0; i < resultOrderList.Count; i++)
                        {
                            resultOrder[i] = resultOrderList[i];
                        }
                    }
                }

                DataTable result = db.Select(
                    tableName,
                    md.Params.IndexStart,
                    md.Params.MaxResults,
                    md.Params.ReturnFields,
                    filter,
                    resultOrder);

                if (md.Params.Debug && filter != null)
                {
                    md.Http.Response.Headers.Add(Constants.HeaderExpression, filter.ToString());
                }

                if (result == null || result.Rows.Count < 1)
                {
                    md.Http.Response.StatusCode  = 200;
                    md.Http.Response.ContentType = "application/json";
                    await md.Http.Response.Send(SerializationHelper.SerializeJson(new List <dynamic>(), true));

                    return;
                }
                else
                {
                    md.Http.Response.StatusCode  = 200;
                    md.Http.Response.ContentType = "application/json";
                    await md.Http.Response.Send(SerializationHelper.SerializeJson(Common.DataTableToListDynamic(result), true));

                    return;
                }

                #endregion
            }
            else
            {
                #region Update-Object

                if (String.IsNullOrEmpty(currTable.PrimaryKey))
                {
                    _Logging.Warn("PutTable no primary key defined for table " + tableName + " in database " + dbName);
                    md.Http.Response.StatusCode  = 400;
                    md.Http.Response.ContentType = "application/json";
                    await md.Http.Response.Send(SerializationHelper.SerializeJson(new ErrorResponse(ErrorCodeEnum.InvalidRequest, "Invalid request", "No primary key for table " + tableName), true));

                    return;
                }

                byte[] reqData = md.Http.Request.DataAsBytes;
                Dictionary <string, object> dict = SerializationHelper.DeserializeJson <Dictionary <string, object> >(reqData);
                Expr      e      = new Expr(currTable.PrimaryKey, OperatorEnum.Equals, idVal);
                DataTable result = db.Update(tableName, dict, e);

                md.Http.Response.StatusCode  = 200;
                md.Http.Response.ContentType = "application/json";
                await md.Http.Response.Send(SerializationHelper.SerializeJson(Common.DataTableToDynamic(result), true));

                return;

                #endregion
            }
        }
Exemple #16
0
 static public bool SetDiffByOrdering <T>(this IEnumerable <T> enumerableOut, IEnumerable <T> enumerableIn, Comparison <T> comparison, out IEnumerable <T> added, out IEnumerable <T> removed, out IEnumerable <T> conserved, ResultOrder resultOrder = ResultOrder.Conserved)
 {
     return(SetDiffByOrdering(enumerableOut, enumerableIn, new ComparisonComparer <T>(comparison), out added, out removed, out conserved, resultOrder));
 }
Exemple #17
0
        static public IEnumerable <TOut> RejectByOrdering <TOut, TIn, TKey>(this IEnumerable <TOut> enumerableOut, IEnumerable <TIn> enumerableIn, Func <TOut, TKey> keySelectorOut, Func <TIn, TKey> keySelectorIn, IComparer <TKey> comparer, ResultOrder resultOrder = ResultOrder.Conserved)
        {
            switch (resultOrder)
            {
            case ResultOrder.Conserved:
                return(enumerableOut.Indexed().RejectByOrderingInternal(enumerableIn, x => keySelectorOut(x.Item), keySelectorIn, comparer).OrderBy(x => x.Index).Select(x => x.Item));

            case ResultOrder.Neglected:
                return(enumerableOut.RejectByOrderingInternal(enumerableIn, keySelectorOut, keySelectorIn, comparer));

            default:
                throw new NotSupportedException();
            }
        }
Exemple #18
0
        static public IEnumerable <TResult> JoinByOrdering <TOut, TIn, TKey, TResult>(this IEnumerable <TOut> enumerableOut, IEnumerable <TIn> enumerableIn, Func <TOut, TKey> keySelectorOut, Func <TIn, TKey> keySelectorIn, Func <TOut, TIn, TResult> resultSelector, IComparer <TKey> comparer, ResultOrder resultOrder = ResultOrder.Conserved)
        {
            switch (resultOrder)
            {
            case ResultOrder.Conserved:
                return(enumerableOut.Indexed().JoinByOrderingInternal(enumerableIn, x => keySelectorOut(x.Item), keySelectorIn, (x, y) => new ItemIndexPair <TResult>(resultSelector(x.Item, y), x.Index), comparer).OrderBy(x => x.Index).Select(x => x.Item));

            case ResultOrder.Neglected:
                return(enumerableOut.JoinByOrderingInternal(enumerableIn, keySelectorOut, keySelectorIn, resultSelector, comparer));

            default:
                throw new NotSupportedException();
            }
        }
Exemple #19
0
 static public IEnumerable <TResult> JoinByOrdering <TOut, TIn, TKey, TResult>(this IEnumerable <TOut> enumerableOut, IEnumerable <TIn> enumerableIn, Func <TOut, TKey> keySelectorOut, Func <TIn, TKey> keySelectorIn, Func <TOut, TIn, TResult> resultSelector, Comparison <TKey> comparison, ResultOrder resultOrder = ResultOrder.Conserved)
 {
     return(JoinByOrdering(enumerableOut, enumerableIn, keySelectorOut, keySelectorIn, resultSelector, new ComparisonComparer <TKey>(comparison), resultOrder));
 }
Exemple #20
0
 static public IEnumerable <TResult> JoinByOrdering <TOut, TIn, TKey, TResult>(this IEnumerable <TOut> enumerableOut, IEnumerable <TIn> enumerableIn, Func <TOut, TKey> keySelectorOut, Func <TIn, TKey> keySelectorIn, Func <TOut, TIn, TResult> resultSelector, ResultOrder resultOrder = ResultOrder.Conserved)
     where TKey : IComparable <TKey>
 {
     return(JoinByOrdering(enumerableOut, enumerableIn, keySelectorOut, keySelectorIn, resultSelector, new ComparisonComparer <TKey>((x, y) => x.CompareTo(y)), resultOrder));
 }
Exemple #21
0
 static public IEnumerable <TResult> JoinByOrdering <T, TResult>(this IEnumerable <T> enumerableOut, IEnumerable <T> enumerableIn, Func <T, T, TResult> resultSelector, IComparer <T> comparer, ResultOrder resultOrder = ResultOrder.Conserved)
 {
     return(JoinByOrdering(enumerableOut, enumerableIn, x => x, x => x, resultSelector, comparer, resultOrder));
 }