private static MaintenanceInfo ParseMaintenanceContainingFile(string maintenanceCost)
        {
            MaintenanceInfo result = null;

            var indexOfFileHeader = maintenanceCost.IndexOf("[[", StringComparison.OrdinalIgnoreCase);
            var valueString       = maintenanceCost.Substring(0, indexOfFileHeader).Trim();
            var temp = maintenanceCost.Remove(0, indexOfFileHeader);

            if (!double.TryParse(valueString, out double value))
            {
            }

            temp = temp.Replace("[[File:", string.Empty); //filename with space? .Replace(" ", string.Empty)
            var splitted = temp.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
            var tempName = splitted[0];

            var unit = new CostUnit
            {
                Type = CostUnitType.File,
                Name = tempName.Trim()
            };

            result = new MaintenanceInfo
            {
                Value = value,
                Unit  = unit
            };

            return(result);
        }
Example #2
0
        /// <summary>
        /// 维修员受理操作
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <bool> RPReceiveMaintenance(RPReceiveMaintenanceRequest request)
        {
            //判断该工单状态是否可以转派工单
            var maintenanceInfo = await this.GetById(request.Id.Value);

            if (maintenanceInfo == null)
            {
                throw new SinoException(ErrorCode.E30016, nameof(ErrorCode.E30016).GetCode());
            }

            //在已受理(已被服务商指派维修员)的状态下才可以领取工单
            if (maintenanceInfo.MaintenancStatus.Value != (int)EMaintenancStatus.AssignRP)
            {
                var desc = maintenanceInfo.MaintenancStatus.Value.GetEnumDescription <EMaintenancStatus>();
                throw new SinoException(string.Format(ErrorCode.E30021, desc), nameof(ErrorCode.E30021).GetCode());
            }

            //进行转派操作
            MaintenanceInfo maintenance = new MaintenanceInfo();

            maintenance.Id = request.Id.Value;
            maintenance.MaintenancStatus     = (int)EMaintenancStatus.Accepting;
            maintenance.LastModificationTime = DateTime.Now;
            List <string> updateCols = new List <string>();

            updateCols.Add(nameof(MaintenanceInfo.MaintenancStatus));
            updateCols.Add(nameof(MaintenanceInfo.LastModificationTime));
            var result = await _MaintenanceInfoRep.UpdateAssignFieldsById(maintenance, updateCols);

            return(result > 0);
        }
        private static MaintenanceInfo ParseMaintenanceContainingInfoIcon(string maintenanceCost)
        {
            MaintenanceInfo result = null;

            if (!double.TryParse(maintenanceCost.Split(new[] { "{{" }, StringSplitOptions.RemoveEmptyEntries)[0], out double value))
            {
                //−20
                //-20
            }

            var splittedInfo = maintenanceCost.Split(new[] { "{{" }, StringSplitOptions.RemoveEmptyEntries);

            var unit = new CostUnit();

            if (splittedInfo[1].Contains("Infoicon"))
            {
                unit.Type = CostUnitType.InfoIcon;
            }
            else
            {
                unit.Type = CostUnitType.Unknown;
            }

            unit.Name = splittedInfo[1].Replace("}}", string.Empty).Replace("Infoicon", string.Empty).Trim();

            result = new MaintenanceInfo
            {
                Value = double.Parse(splittedInfo[0]),
                Unit  = unit,
            };


            return(result);
        }
Example #4
0
        /// <summary>
        /// 服务商取消工单
        /// </summary>
        /// <returns></returns>
        public async Task <bool> SPCancelMaintenance(SPCancelMaintenanceRequest request)
        {
            //判断该工单状态是否可以取消
            var maintenanceInfo = await this.GetById(request.Id.Value);

            if (maintenanceInfo == null)
            {
                throw new SinoException(ErrorCode.E30016, nameof(ErrorCode.E30016).GetCode());
            }

            if (maintenanceInfo.MaintenancStatus.Value > (int)EMaintenancStatus.Received)
            {
                var desc = maintenanceInfo.MaintenancStatus.Value.GetEnumDescription <EMaintenancStatus>();
                throw new SinoException(string.Format(ErrorCode.E30018, desc), nameof(ErrorCode.E30018).GetCode());
            }

            //进行取消操作
            MaintenanceInfo maintenance = new MaintenanceInfo();

            maintenance.MaintenancStatus = (int)EMaintenancStatus.Closed;
            maintenance.Id = request.Id.Value;
            maintenance.LastModificationTime = DateTime.Now;
            List <string> updateCols = new List <string>();

            updateCols.Add(nameof(MaintenanceInfo.MaintenancStatus));
            updateCols.Add(nameof(MaintenanceInfo.LastModificationTime));
            var result = await _MaintenanceInfoRep.UpdateAssignFieldsById(maintenance, updateCols);

            return(result > 0);
        }
        private static MaintenanceInfo ParseMaintenanceContainingInfoIcon(string maintenanceCost)
        {
            MaintenanceInfo result = null;

            var splittedInfo = maintenanceCost.Split(new[] { WIKITEXT_LINK_START }, StringSplitOptions.RemoveEmptyEntries);

            if (!double.TryParse(splittedInfo[0], out double parsedValue))
            {
                logger.Warn($"could not parse maintenance cost: \"{maintenanceCost}\"");
            }

            var unit = new CostUnit();

            if (splittedInfo[1].Contains("Infoicon"))
            {
                unit.Type = CostUnitType.InfoIcon;
            }
            else
            {
                unit.Type = CostUnitType.Unknown;
            }

            unit.Name = splittedInfo[1].Replace(WIKITEXT_LINK_END, string.Empty).Replace("Infoicon", string.Empty).Trim();

            result = new MaintenanceInfo
            {
                Value = parsedValue,
                Unit  = unit,
            };


            return(result);
        }
Example #6
0
        public bool Add(MaintenanceInfo maintenance)
        {
            var sb = new StringBuilder();

            sb.AppendFormat(
                "insert into WaterService.MaintenanceInfo (MeterId,GenreId,TypeId,InstallTime,`Create`,CreateDate,ReplaceTime) values ({0},{1},{2},'{3}','{4}','{5}','{6}');", maintenance.MeterId, maintenance.GenreId, maintenance.TypeId, maintenance.InstallTime.ToString("yyyy-MM-dd HH:mm:ss"), maintenance.Create, maintenance.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), maintenance.ReplaceTime.ToString("yyyy-MM-dd HH:mm:ss"));
            return(new MySqlHelper().ExcuteNonQuery(sb.ToString()) > 0);
        }
        private static MaintenanceInfo ParseMaintenanceInfo(string maintenanceCost)
        {
            MaintenanceInfo result = null;

            if (maintenanceCost.Contains("[[File:"))
            {
                result = ParseMaintenanceContainingFile(maintenanceCost);
            }
            else
            {
                result = ParseMaintenanceContainingInfoIcon(maintenanceCost);
            }

            return(result);
        }
Example #8
0
    private void CheckMaintenanceSettings()
    {
        var pageLocation = HttpContext.Current.Request.Url.AbsoluteUri;

        var info = new MaintenanceInfo();

        if (pageLocation.Contains("/Deposit"))
        {
            info.CurrentPage = MaintenanceModules.DPM;
        }
        else if (pageLocation.Contains("/Withdrawal"))
        {
            info.CurrentPage = MaintenanceModules.WPM;
        }
        else if (pageLocation.Contains("/Profile/Rebates.aspx"))
        {
            info.CurrentPage = MaintenanceModules.RS;
        }
        else if (pageLocation.Contains("/FundTransfer"))
        {
            info.CurrentPage = MaintenanceModules.FTM;
        }
        else
        {
            info.CurrentPage = MaintenanceModules.NonPage;
        }

        info.MainSite     = Convert.ToBoolean(_opsettings.Values.Get("MaintenanceAllPages"));
        info.Deposit      = Convert.ToBoolean(_opsettings.Values.Get("MaintenanceDeposit"));
        info.Widrawal     = Convert.ToBoolean(_opsettings.Values.Get("MaintenanceWidrawal"));
        info.FundTransfer = Convert.ToBoolean(_opsettings.Values.Get("MaintenanceFundTransfer"));
        info.Rebates      = Convert.ToBoolean(_opsettings.Values.Get("MaintenanceRebates"));

        var maintenanceHelper = new MaintenanceHelper(info).CheckStatus();

        if (maintenanceHelper.AllSite)
        {
            Response.Clear();
            Response.Redirect(_opsettings.Values.Get("MaintenanceAllPage"), true);
        }
        else if (maintenanceHelper.PerModule)
        {
            Response.Clear();
            Response.Redirect(_opsettings.Values.Get("MaintenancePage"), true);
        }
    }
Example #9
0
        public void GameOutputTest()
        {
            var mi     = new MaintenanceInfo();
            var plJohn = new Mock <IGuessGamePlayer>();

            plJohn.SetupGet(p => p.Name).Returns("John");
            var plWill = new Mock <IGuessGamePlayer>();

            plWill.SetupGet(p => p.Name).Returns("Will");
            mi.AddGuessHistoryItem(80, plJohn.Object);
            mi.AddGuessHistoryItem(90, plWill.Object);
            var gameOutput = mi.GetGameOutput(91);

            Assert.AreEqual(90, gameOutput.WinnersBestGuess);
            Assert.AreEqual("Will", gameOutput.WinnerPlayer.Name);
            Assert.AreEqual(91, gameOutput.SecretValue);
            Assert.AreEqual(1, gameOutput.NumberOfAttempts);
        }
Example #10
0
 public ResultModel Add([FromBody] MaintenanceInfo add)
 {
     add.Create     = User.Identity.GetCurrentUser().UserName;
     add.CreateDate = DateTime.Now;
     return(GenerateResult(bll.Add(add), ""));
 }
Example #11
0
        public ActionResult GetMaintenanceInfo()
        {
            var maintenanceObject = MaintenanceInfo.GetServerMaintenance(Session.Timeout);

            return(Json(maintenanceObject, JsonRequestBehavior.AllowGet));
        }
 public MaintenanceHelper(MaintenanceInfo maintenanceInfo)
 {
     _opsettings      = new OperatorSettings("W88");
     _maintenanceInfo = maintenanceInfo;
     _operatorPass    = _opsettings.Values.Get("OperatorKey");
 }