コード例 #1
0
    // Use this for initialization
    void Start()
    {
        InitMinerData();

        // Hay que hacer la fsm del agente
        fsm = new FSM(gameObject, this);

        // Crear los estados en que puede estar
        Vender    vender    = new Vender(this);
        Abastecer abastecer = new Abastecer(this);


        // Asignarle a cada estado los eventos que puede tener
        //work.AddEvent(EventList.events.imHome);

        // Hay que agregarlos a la FSM
        fsm.AddState(GlobalStateID.abastecer, abastecer);
        fsm.AddState(StateID.Vender, vender);


        // Indicar cual es el estado inicial
        fsm.ChangeState(StateID.Vender);

        // Activo la fsm
        fsm.Activate();
    }
コード例 #2
0
        public bool Insert(VanderInsertDTO DTO)
        {
            bool result = false;
            var  List   = new List <Tags>();

            if (DTO.Tags != null && DTO.Tags.Count > 0)
            {
                foreach (var item in DTO.Tags)
                {
                    Tags tags = new Tags();
                    tags.Name        = item.Name;
                    tags.Family      = item.Family;
                    tags.Address     = item.Address;
                    tags.PhoneNumber = item.PhoneNumber;
                    tags.PhoneMobile = item.PhoneMobile;
                    List.Add(tags);
                }
            }
            var vender = new Vender()
            {
                Name  = DTO.Name,
                Title = DTO.Title,
                Date  = DTO.Date,
                Tags  = List
            };

            int inserted = _repository.Insert(vender);

            if (inserted > 0)
            {
                result = true;
            }
            return(result);
        }
コード例 #3
0
ファイル: CYS_Main.cs プロジェクト: Danebs/Cys---Store
        private void venderProdutoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Vender vnd = new Vender();

            vnd.MdiParent = this;
            vnd.Show();
        }
コード例 #4
0
        public async Task <IActionResult> VendorCreate(VenderCreateViewModel vender)
        {
            //var existEmployer = await _context.Venders.FirstOrDefaultAsync(x => x.Email == vender.Email);
            //if (existEmployer != null)
            //{
            //    ModelState.AddModelError("", "User Exist");
            //    return View();
            //}

            if (!ModelState.IsValid)
            {
                return(View());
            }

            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            Vender newVender = new Vender
            {
                Name        = vender.Name,
                Surname     = vender.Surname,
                ShopName    = vender.ShopName,
                ShopLogoUrl = vender.ShopLogoUrl,
                AppUserId   = user.Id
            };

            await _context.Venders.AddAsync(newVender);

            await _context.SaveChangesAsync();


            return(RedirectToAction("Index", "Home"));
        }
コード例 #5
0
        private async Task WebHookNotification(UserContext userContext, Vender vender, VenderSale venderSale)
        {
            var fields = new List <DiscordService.DiscordEmbed.Field>();


            fields.Add(new DiscordService.DiscordEmbed.Field
            {
                name   = "金額",
                value  = $"{venderSale.Amount}{StaticSettings.CurrenryUnit}",
                inline = false
            });

            if (!string.IsNullOrWhiteSpace(venderSale.Message))
            {
                fields.Add(new DiscordService.DiscordEmbed.Field
                {
                    name   = "メッセージ",
                    value  = venderSale.Message,
                    inline = false
                });
            }

            await DiscordService.SendMessage(DiscordService.Channel.VenderNotification, string.Empty, new DiscordService.DiscordEmbed
            {
                title  = $"{vender.Title} 【購入】",
                url    = $"{StaticSettings.SiteBaseUrl}Venders/Details?id={vender.Id}",
                author = new DiscordService.DiscordEmbed.Author
                {
                    url      = userContext.CurrentUser.GetMemberPageUrl(StaticSettings.SiteBaseUrl),
                    icon_url = userContext.CurrentUser.GetAvaterIconUrl(),
                    name     = userContext.CurrentUser.Name
                },
                fields = fields.ToArray(),
            });
        }
コード例 #6
0
        private async Task SalesNotification(UserContext userContext, Vender vender, VenderSale venderSale)
        {
            var builder = new Discord.EmbedBuilder();

            builder
            .WithTitle($"{vender.Title} 【購入】")
            .WithUrl($"{StaticSettings.SiteBaseUrl}Venders/Details?id={vender.Id}")
            .WithAuthor(
                userContext.CurrentUser.Name,
                userContext.CurrentUser.GetAvaterIconUrl(),
                userContext.CurrentUser.GetMemberPageUrl(StaticSettings.SiteBaseUrl)
                )
            .AddField("金額", $"{venderSale.Amount}{StaticSettings.CurrenryUnit}", false);

            if (!string.IsNullOrEmpty(venderSale.Message))
            {
                builder
                .AddField("メッセージ", venderSale.Message, false);
            }



            var messageTargets = new[] { vender.VetMember };
            await CoreService.SendDirectMessage(messageTargets, string.Empty, builder.Build());
        }
コード例 #7
0
        /// 插入一条监控日志
        /// <summary>
        /// 插入一条监控日志
        /// </summary>
        /// <param name="ListenUserID"></param>
        /// <param name="AgentUserID"></param>
        /// <param name="CurrentStatus"></param>
        /// <param name="CurrentOper"></param>
        /// <param name="Vendor"></param>
        /// <param name="Remark"></param>
        /// <returns></returns>
        public int InsertListenAgentLog(
            int ListenUserID, string ListenUserName, string ListenNum, string ListenExtensionNum, OperForListen ListenOper,
            int AgentUserID, string AgentUserName, string AgentNum, string AgentExtensionNum, AgentStateForListen AgentStatus,
            Vender Vendor, string Remark)
        {
            ListenAgentLogInfo info = new ListenAgentLogInfo();

            info.ListenUserID       = ListenUserID;
            info.ListenUserName     = ListenUserName;
            info.ListenNum          = ListenNum;
            info.ListenExtensionNum = ListenExtensionNum;
            info.ListenOper         = (int)ListenOper;

            info.AgentUserID       = AgentUserID;
            info.AgentUserName     = AgentUserName;
            info.AgentNum          = AgentNum;
            info.AgentExtensionNum = AgentExtensionNum;
            info.AgentStatus       = (int)AgentStatus;

            info.Vendor = (int)Vendor;
            info.Remark = Remark;

            info.CreateTime   = DateTime.Now;
            info.CreateUserID = ListenUserID;

            CommonBll.Instance.InsertComAdoInfo(info);
            return(info.ValueOrDefault_RecID);
        }
コード例 #8
0
        /// <summary>
        /// 获取在线坐席状态列表(工作中)
        /// </summary>
        /// <param name="iarray"></param>
        /// <param name="errormsg"></param>
        /// <returns></returns>
        public bool GetAgentStateWorking(out DataTable dt, Vender vender, out string errormsg)
        {
            dt       = null;
            errormsg = "";
            try
            {
                string sql = "";
                sql = @"SELECT t2.AgentNum,t2.UserID,t1.State,t1.AgentAuxState,t1.AgentName,t1.ExtensionNum
                             FROM dbo.CAgent t1 LEFT JOIN dbo.EmployeeAgent t2 ON t1.AgentID=t2.UserID
                             WHERE t1.State=9 " + GetVenderWhere(vender);

                DataSet ds = BitAuto.Utils.Data.SqlHelper.ExecuteDataset(CONNECTIONSTRINGS, System.Data.CommandType.Text, sql);


                if (ds.Tables[0].Rows.Count > 0)
                {
                    dt = ds.Tables[0];
                }
                else
                {
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                errormsg = ex.StackTrace;
                return(false);
            }
        }
コード例 #9
0
        public async Task <IActionResult> Edit(int id, [Bind("Vid,Vname,Vmobile")] Vender vender)
        {
            if (id != vender.Vid)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(vender);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VenderExists(vender.Vid))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(vender));
        }
コード例 #10
0
        public ActionResult UpdateVender(int venderId, bool IsActive)
        {
            Vender vender = db.Venders.Where(x => x.VenderId == venderId).SingleOrDefault();

            vender.IsActive = IsActive;
            db.SaveChanges();
            return(Json("", JsonRequestBehavior.AllowGet));
        }
コード例 #11
0
        public IActionResult OnGet()
        {
            Vender = new Vender
            {
                IsSalesNotification = true
            };

            return(Page());
        }
コード例 #12
0
        public async Task <ServicesResponse <List <VanderListDTO> > > Insert(AddVendorListDTO vender)
        {
            ServicesResponse <List <VanderListDTO> > servicesResponse = new ServicesResponse <List <VanderListDTO> >();
            Vender vender1 = _mapper.Map <Vender>(venders);

            vender1.Id = venders.Max(c => c.Id) + 1;
            venders.Add(vender1);
            servicesResponse.Data = (venders.Select(c => _mapper.Map <VanderListDTO>(c))).ToList();
            return(servicesResponse);
        }
コード例 #13
0
        public string ReadVenderCsvFile()
        {
            try
            {
                List <Vender> result  = new List <Vender>();
                StreamReader  sr      = new StreamReader(@"Assets/Vender.csv");
                string        strLine = string.Empty;
                string[]      value   = null;
                int           x       = 0;
                while (!sr.EndOfStream)
                {
                    x++;
                    strLine = sr.ReadLine();
                    value   = strLine.Split(',');
                    if (x > 1 && value.Length == 3)
                    {
                        try
                        {
                            var vender = new Vender();
                            vender.Id         = Int32.Parse(value[0]);
                            vender.VenderNo   = value[1];
                            vender.VenderName = value[2];
                            result.Add(vender);
                        }
                        catch (Exception ex)
                        {
                            string ms = ex.Message;
                        }
                    }
                }

                _db.Venders.AddRange(result);
                _db.SaveChanges();

                GC.Collect();

                int counter = _db.Venders.Count();
                if (counter < 10)
                {
                    return("Process error less than 10 records");
                }

                return("Completed");
            }
            catch (DbUpdateException efex)
            {
                efex.Message.FirstOrDefault();

                return("Not pass because db");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
コード例 #14
0
        public async Task <IActionResult> Create([Bind("Vid,Vname,Vmobile")] Vender vender)
        {
            if (ModelState.IsValid)
            {
                _context.Add(vender);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(vender));
        }
コード例 #15
0
        public ActionResult Show(int id)
        {
            Vender       thisVender                  = Vender.GetVender(id);
            List <Order> thisVendersOrders           = thisVender.OrdersList;
            Dictionary <string, object> orderDetails = new Dictionary <string, object>()
            {
                { "Vender", thisVender },
                { "Orders", thisVendersOrders }
            };

            return(View(orderDetails));
        }
コード例 #16
0
        private void Save_btn_Click(object sender, EventArgs e)
        {
            Vender vender = new Vender();

            vender.Name    = Name_txt.Text;
            vender.Company = Company_txt.Text;
            vender.Address = Address_txt.Text;
            vender.Contact = Contact_txt.Text;
            vender.Email   = Email_txt.Text;
            dbContext.Venders.Add(vender);
            dbContext.SaveChanges();
            Refresh();
            ClearTextBox();
        }
コード例 #17
0
        private async Task DeliveryMessage(UserContext userContext, Vender vender, VenderSale venderSale)
        {
            var builder = new Discord.EmbedBuilder();

            builder
            .WithTitle($"{vender.Title} 【購入】")
            .WithUrl($"{StaticSettings.SiteBaseUrl}Venders/Details?id={vender.Id}")
            .WithAuthor(
                userContext.CurrentUser.Name,
                userContext.CurrentUser.GetAvaterIconUrl(),
                userContext.CurrentUser.GetMemberPageUrl(StaticSettings.SiteBaseUrl)
                )
            .AddField("金額", $"{venderSale.Amount}{StaticSettings.CurrenryUnit}", false);
            //.AddField("メッセージ", venderSale.Message, false);


            if (!string.IsNullOrEmpty(venderSale.Message))
            {
                builder
                .AddField("メッセージ", venderSale.Message, false);
            }

            //if (!string.IsNullOrEmpty(vender.DeliveryMessage))
            //{
            //    builder.WithDescription(vender.DeliveryMessage);
            //}
            //else
            //{
            //    builder.WithDescription("[配信メッセージが未設定です]");
            //}
            string message = null;

            if (!string.IsNullOrEmpty(vender.DeliveryMessage))
            {
                message = $@"販売者からのメッセージです
----------------------------
{vender.DeliveryMessage}";
            }
            else
            {
            }


            var messageTargets = new[] { userContext.CurrentUser };
            await CoreService.SendDirectMessage(messageTargets, message, builder.Build());


            await Task.Yield();
        }
コード例 #18
0
 /// 获取厂家类型条件
 /// <summary>
 /// 获取厂家类型条件
 /// </summary>
 /// <param name="vendor"></param>
 /// <returns></returns>
 private static string GetVendorWhere(Vender vendor)
 {
     string where = "";
     if (vendor == Vender.Genesys)
     {
         //Genesys类型
         where = " AND ObjectType >=001 AND ObjectType<=099";
     }
     else if (vendor == Vender.Holly)
     {
         //Holly类型
         where = " AND ObjectType >=101 AND ObjectType<=200";
     }
     return(where);
 }
コード例 #19
0
        /// 通过条件查询置闲或置忙的坐席
        /// <summary>
        /// 通过条件查询置闲或置忙的坐席
        /// </summary>
        /// <param name="vender"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public DataTable GetAgentStateOnLineByWhere(Vender vender, string where)
        {
            string sql = @"SELECT t2.AgentNum,t2.UserID,t1.State,t1.AgentAuxState,t1.AgentName,t1.ExtensionNum,
                                    t2.RegionID,
                                    CASE t2.RegionID WHEN 1 THEN '北京' WHEN 2 THEN '西安' ELSE '' END AS RegionName,
                                    t2.BGID,bg.Name AS BGName
                                    FROM dbo.CAgent t1 
                                    LEFT JOIN dbo.EmployeeAgent t2 ON t1.AgentID=t2.UserID 
                                    LEFT JOIN dbo.BusinessGroup bg ON t2.BGID=bg.BGID
                                    WHERE t1.State IN(3,4) "
                         + GetVenderWhere(vender) + " "
                         + where
                         + @" ORDER BY bg.Name,t1.AgentName";

            return(SqlHelper.ExecuteDataset(CONNECTIONSTRINGS, CommandType.Text, sql).Tables[0]);
        }
コード例 #20
0
        public async Task <ServicesResponse <List <VanderListDTO> > > Delete(int Id)
        {
            ServicesResponse <List <VanderListDTO> > servicesResponse = new ServicesResponse <List <VanderListDTO> >();

            try
            {
                Vender vender = venders.First(c => c.Id == Id);
                venders.Remove(vender);
                servicesResponse.Data = (venders.Select(c => _mapper.Map <VanderListDTO>(c))).ToList();
            }
            catch (Exception ex)
            {
                servicesResponse.Success = false;
                servicesResponse.Message = ex.Message;
            }
            return(servicesResponse);
        }
コード例 #21
0
        public DataTable GetClientLogRequireInfo(string key, int userid, Vender vender)
        {
            try
            {
                if (!CheckKey(key))
                {
                    BLL.Loger.Log4Net.Info("[获取相关用户和版本的所有请求] 授权码错误");
                    return(null);
                }

                return(BLL.ClientLogRequire.Instance.GetClientLogRequireInfo(userid, (int)vender));
            }
            catch (Exception ex)
            {
                BLL.Loger.Log4Net.Info("[获取相关用户和版本的所有请求] 异常", ex);
                return(null);
            }
        }
コード例 #22
0
        private void resToVender(ApiResponseRoot response)
        {
            VenderLst.Clear();
            foreach (var vender_ in response.data.finalResult)
            {
                if (vender_.type != "BANNER")
                {
                    var data = vender_.data;

                    var vender__ = new Vender(data.id, data.vendorCode, data.onlineOrder, data.title, data.description,
                                              (byte)data.rate, (byte)data.rating, data.logo, data.defLogo, data.address);
                    foreach (var badge in data.badges)
                    {
                        vender__.VenderBages.Add(new VenderBage(data.id, badge));
                    }
                    VenderLst.Add(vender__);
                }
            }
        }
コード例 #23
0
        private string GetVenderWhere(Vender vender)
        {
            string num = "";

            switch (vender)
            {
            case Vender.Genesys:
                num = BitAuto.Utils.Config.ConfigurationUtil.GetAppSettingValue("GenesysExtensionNumStart");
                break;

            case Vender.Holly:
                num = BitAuto.Utils.Config.ConfigurationUtil.GetAppSettingValue("HollyExtensionNumStart");
                break;

            default:
                break;
            }
            return(" and t1.ExtensionNum like '" + StringHelper.SqlFilter(num) + "%'");
        }
コード例 #24
0
        private async Task SendMessages(Vender vender, VetMember sender, string message)
        {
            var senderIsOwner = vender.VetMemberId == sender.Id;

            var messageTargets =
                senderIsOwner ? DbContext.VenderMessages
                .AsQueryable()
                .Where(c => c.VenderId == vender.Id)
                .Select(c => c.VetMember).Distinct().ToArray()
                            : new[] { vender.VetMember };


            Discord.EmbedBuilder builder = new Discord.EmbedBuilder();
            builder.WithTitle($"{ vender.Title} 【メッセージ】")
            .WithAuthor(sender.Name, sender.GetAvaterIconUrl(), sender.GetMemberPageUrl(StaticSettings.SiteBaseUrl))
            .WithUrl($"{StaticSettings.SiteBaseUrl}Venders/Details?id={vender.Id}")
            .AddField("内容", message);

            await CoreService.SendDirectMessage(messageTargets, string.Empty, builder.Build());
        }
コード例 #25
0
        public DataTable GetAgentStateOnLineByWhere(string verifyCode, Vender vender, string where)
        {
            try
            {
                string msg = "";
                if (!BLL.CallRecord_ORIG_Authorizer.Instance.Verify(verifyCode, 0, ref msg, "获取在线客服状态列表(置闲、置忙、自定义条件),授权失败。"))
                {
                    BLL.Loger.Log4Net.Info(msg);
                    return new DataTable();
                }

                BLL.Loger.Log4Net.Info("[AgentTimeState.asmx]GetAgentStateOnLineByWhere ...获取在线客服状态列表(置闲、置忙、自定义条件)...vender:" + vender + ",where:" + where);
                return BLL.AgentTimeState.Instance.GetAgentStateOnLineByWhere(vender, where);
            }
            catch (Exception ex)
            {
                BLL.Loger.Log4Net.Error("[AgentTimeState.asmx]GetAgentStateOnLineByWhere ...获取在线客服状态列表(置闲、置忙、自定义条件)", ex);
                return new DataTable();
            }
        }
コード例 #26
0
        public async Task <ServicesResponse <VanderListDTO> > Update(UpdateVenderDTO venderDTO)
        {
            ServicesResponse <VanderListDTO> servicesResponse = new ServicesResponse <VanderListDTO>();

            try
            {
                Vender vender = venders.FirstOrDefault(c => c.Id == venderDTO.Id);
                vender.Name  = venderDTO.Name;
                vender.Title = venderDTO.Title;
                vender.Tags  = venderDTO.Tags;
                vender.Date  = venderDTO.Date;

                servicesResponse.Data = _mapper.Map <VanderListDTO>(vender);
            }
            catch (Exception ex)
            {
                servicesResponse.Success = false;
                servicesResponse.Message = ex.Message;
            }
            return(servicesResponse);
        }
コード例 #27
0
        public static IEnumerable <Vender> DataTableToList(this ViewModelBase vm, DataTable dt)
        {
            var modelList = new List <Vender>();
            var rowsCount = dt.Rows.Count;

            if (rowsCount > 0)
            {
                for (var n = 0; n < rowsCount; n++)
                {
                    var model = new Vender
                    {
                        Id      = (int)dt.Rows[n]["Id"],
                        Name    = dt.Rows[n]["Name"].ToString(),
                        Address = dt.Rows[n]["Address"].ToString(),
                        Phone   = dt.Rows[n]["Phone"].ToString(),
                        Email   = dt.Rows[n]["Email"].ToString(),
                    };

                    modelList.Add(model);
                }
            }

            return(modelList);
        }
コード例 #28
0
 public int InsertListenAgentLog(string verifyCode,
     int listenUserID, string listenUserName, string listenNum, string listenExtensionNum, int listenOper,
     int agentUserID, string agentUserName, string agentNum, string agentExtensionNum, int agentStatus,
     Vender vendor, string remark)
 {
     try
     {
         string msg = "";
         if (!BLL.CallRecord_ORIG_Authorizer.Instance.Verify(verifyCode, 0, ref msg, "插入监控日志,授权失败。"))
         {
             BLL.Loger.Log4Net.Info(msg);
             return -1;
         }
         return BLL.ListenAgentLog.Instance.InsertListenAgentLog(
             listenUserID, listenUserName, listenNum, listenExtensionNum, (OperForListen)listenOper,
             agentUserID, agentUserName, agentNum, agentExtensionNum, (AgentStateForListen)agentStatus,
             vendor, remark);
     }
     catch (Exception ex)
     {
         BLL.Loger.Log4Net.Error("[AgentTimeState.asmx]InsertListenAgentLog 插入监控日志 异常", ex);
         return -1;
     }
 }
コード例 #29
0
 /// 通过条件查询置闲或置忙的坐席
 /// <summary>
 /// 通过条件查询置闲或置忙的坐席
 /// </summary>
 /// <param name="vender"></param>
 /// <param name="where"></param>
 /// <returns></returns>
 public DataTable GetAgentStateOnLineByWhere(Vender vender, string where)
 {
     return(Dal.AgentTimeState.Instance.GetAgentStateOnLineByWhere(vender, where));
 }
コード例 #30
0
 /// <summary>
 /// 获取在线坐席状态列表(工作中)
 /// </summary>
 /// <param name="iarray"></param>
 /// <param name="errormsg"></param>
 /// <returns></returns>
 public bool GetAgentStateWorking(out DataTable dt, Vender vender, out string errormsg)
 {
     return(Dal.AgentTimeState.Instance.GetAgentStateWorking(out dt, vender, out errormsg));
 }