Ejemplo n.º 1
0
        public async Task <IActionResult> SignUpPost([FromForm] MUserinfo input, string password2)
        {
            if (input.PASSWORD.Trim() != password2.Trim())
            {
                return(Json(new { msg = "비밀번호와 비밀번호 확인을 일치시켜주세요" }));
            }

            try
            {
                _db.BeginTransaction();

                var r = await input.SignUpAsync(_db);

                if (r < 1)
                {
                    throw new Exception("회원 등록 오류");
                }

                _db.Commit();
            }
            catch (Exception ex)
            {
                _db.Rollback();

                return(Json(new { msg = ex.Message }));
            }

            return(await LoginPost(input.EMAIL, password2, null, false));
        }
Ejemplo n.º 2
0
        public bool AuthorizeEmployee(string userId, string password)
        {
            using (IDapperHelper dapper = DapperHelper.GetInstance())
            {
                var trans = dapper.BeginTransaction();

                try
                {
                    using (IRepository repo = new Repository())
                    {
                        var user = repo.Query <User>(x => x.Password == Encrypt.GetMd5Hash(password)).Find(x =>
                                                                                                           x.IsActive && (x.UserName.Equals(userId, StringComparison.OrdinalIgnoreCase) ||
                                                                                                                          x.EmployeeNo.Equals(userId, StringComparison.OrdinalIgnoreCase)));

                        if (user != null)
                        {
                            user.LastLoginDate = DateTime.Now;

                            repo.Update(user);

                            trans.Commit();

                            return(SetSession(user.ID));
                        }
                    }
                }
                catch
                {
                    trans.Rollback();
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
        public ActionResult MenuDelete(MenuDto model)
        {
            if (ModelState.IsValid)
            {
                using (IDapperHelper dapper = DapperHelper.GetInstance())
                {
                    var trans = dapper.BeginTransaction();

                    try
                    {
                        if (model.ID > 0 && _repo.Delete <Menu>(model.ID) > 0)
                        {
                            var list = _repo.Query <Order>(x => x.MenuID == model.ID);

                            if (list != null && list.Count > 0)
                            {
                                foreach (var o in list)
                                {
                                    o.IsActive = false;
                                }
                            }

                            list.Update();

                            trans.Commit();

                            Entities.Menu.Cache.RefreshCache();

                            return(RedirectToAction("MenuManagement", "Console"));
                        }
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();

                        ModelState.AddModelError("Warn", ex.Message);
                    }
                }
            }

            return(RedirectToAction("Menu", "Console", new { model.ID }));
        }
Ejemplo n.º 4
0
        public void DailyMenu_Test()
        {
            IRepository repo = new Repository();

            if (!repo.Any <Menu>(x => x.MenuDate == DateTime.Today))
            {
                // Today's menu no exist
                var menuL1 = new Menu
                {
                    MenuDate   = DateTime.Today,
                    MenuType   = MenuTypeEnum.Lunch,
                    MenuFlag   = "A",
                    Meat       = "红烧大排",
                    MeatSmall  = "芙蓉鸡片",
                    Vegetable1 = "酸辣土豆丝",
                    Vegetable2 = "麻婆豆腐",
                    CreateTime = DateTime.Now,
                    CreateUser = "******",
                    IsApproved = false,
                    IsActive   = true,
                    Remark     = "TEST Lunch A"
                };

                var menuL2 = new Menu
                {
                    MenuDate   = DateTime.Today,
                    MenuType   = MenuTypeEnum.Lunch,
                    MenuFlag   = "B",
                    Meat       = "咖喱牛肉",
                    MeatSmall  = "肉饼蒸蛋",
                    Vegetable1 = "油焖笋",
                    Vegetable2 = "凉拌马兰头",
                    CreateTime = DateTime.Now,
                    CreateUser = "******",
                    IsApproved = false,
                    IsActive   = true,
                    Remark     = "TEST Lunch B"
                };

                var menuS1 = new Menu
                {
                    MenuDate   = DateTime.Today,
                    MenuType   = MenuTypeEnum.Supper,
                    MenuFlag   = "A",
                    Meat       = "啤酒鸭",
                    MeatSmall  = "番茄炒蛋",
                    Vegetable1 = "上汤菠菜",
                    Vegetable2 = "清炒冬瓜",
                    CreateTime = DateTime.Now,
                    CreateUser = "******",
                    IsApproved = false,
                    IsActive   = true,
                    Remark     = "TEST Supper A"
                };

                var menuS2 = new Menu
                {
                    MenuDate   = DateTime.Today,
                    MenuType   = MenuTypeEnum.Supper,
                    MenuFlag   = "B",
                    Meat       = "香煎带鱼",
                    MeatSmall  = "雪菜炒鸡",
                    Vegetable1 = "香菇青菜",
                    Vegetable2 = "手撕包心菜",
                    CreateTime = DateTime.Now,
                    CreateUser = "******",
                    IsApproved = false,
                    IsActive   = true,
                    Remark     = "TEST Supper B"
                };

                using (IDapperHelper dapper = DapperHelper.GetInstance())
                {
                    var trans = dapper.BeginTransaction();

                    try
                    {
                        repo.Insert(menuL1);
                        repo.Insert(menuL2);
                        repo.Insert(menuS1);
                        repo.Insert(menuS2);

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }

            Assert.IsTrue(repo.Count <Menu>(x => x.MenuDate == DateTime.Today) == 4 ||
                          repo.Count <Menu>(x => x.MenuDate == DateTime.Today) == 2);
        }
Ejemplo n.º 5
0
        public User SyncUserWithWeChat(string userId, string deviceId = null)
        {
            // 调用Wechat接口,凭userid获取通讯录成员信息
            var client = new WeChatUserClient();
            var result = client.GetUser(userId);

            if (!string.IsNullOrEmpty(result))
            {
                var json = JToken.Parse(result);

                if (json["errcode"] != null && json["errmsg"] != null &&
                    json["errcode"].Value <int>() == 0 && json["errmsg"].Value <string>() == "ok")
                {
                    var user = new User
                    {
                        Password   = Encrypt.GetMd5Hash("shsict"),
                        Email      = string.Empty,
                        Role       = UserRoleEnum.Employee,
                        CreateDate = DateTime.Now,
                        IsActive   = true
                    };

                    var userWeChat = new UserWeChat();

                    // user: { "errcode":0,"errmsg":"ok","userid":"cyrano","name":"陈继麟","department":[17],"position":"技术工程师","mobile":"13818059707",
                    // "gender":"1","avatar":"http:\/\/shp.qpic.cn\/bizmp\/sfQa6NT594TUfQ42suia698Kz8KNY8eNmeogXYCNQicsaicnCMy5I1mfQ\/","status":1,"extattr":{"attrs":[]}}

                    // { "UserId":"xudanfu1015","DeviceId":"c90af29b945abf19b1a3cace63ac9d45"}
                    // user: { "errcode":0,"errmsg":"ok","userid":"xudanfu1015","name":"徐旦复","department":[34],"position":"系统开发主任","mobile":"13482045112",
                    // "gender":"1","avatar":"http:\/\/shp.qpic.cn\/bizmp\/sfQa6NT594Qm6CnIQicHUTLTDCib0QlmdrlfI3GIsLxknRhBYc7JFb2Q\/","status":1,
                    // "extattr":{"attrs":[{"name":"班组","value":"信息技术组"},{"name":"出生年月","value":"198509"},{"name":"政治面貌","value":"中共党员"},{"name":"工号","value":"1015"},{"name":"座机","value":""},{"name":"英文名","value":"xudanfu"}]}}

                    // 获得微信用户的扩展属性
                    var extattr = json["extattr"].Value <JToken>();
                    var attrs   = extattr?["attrs"].Value <JArray>();

                    var userdict = new Dictionary <string, string>();

                    if (attrs?.Count > 0)
                    {
                        foreach (var kvp in attrs)
                        {
                            userdict.Add(kvp["name"].Value <string>(), kvp["value"].Value <string>());
                        }
                    }

                    using (IDapperHelper dapper = DapperHelper.GetInstance())
                    {
                        var trans = dapper.BeginTransaction();

                        try
                        {
                            using (IRepository repo = new Repository())
                            {
                                // 通过userid,从数据库中获取对应用户
                                if (json["userid"] != null && repo.Any <User>(x => x.UserName == json["userid"].Value <string>()))
                                {
                                    user = repo.Single <User>(x => x.UserName == json["userid"].Value <string>());
                                }


                                #region 封装 User 实例

                                user.UserName     = json["userid"] != null ? json["userid"].Value <string>() : string.Empty;
                                user.EmployeeName = json["name"] != null ? json["name"].Value <string>() : string.Empty;
                                user.EmployeeNo   = userdict.ContainsKey("工号") && userdict["工号"] != null ? userdict["工号"] : string.Empty;

                                if (json["department"]?.Value <JArray>() != null && json["department"].Value <JArray>().Count > 0)
                                {
                                    user.Department = GetDepartment(json["department"].Value <JArray>()[0].Value <int>());
                                }
                                else
                                {
                                    user.Department = string.Empty;
                                }

                                user.Team          = userdict.ContainsKey("班组") && userdict["班组"] != null ? userdict["班组"] : string.Empty;
                                user.Position      = json["position"] != null ? json["position"].Value <string>() : string.Empty;
                                user.Mobile        = json["mobile"] != null ? json["mobile"].Value <string>() : string.Empty;
                                user.IsApproved    = json["status"]?.Value <bool>() ?? true;
                                user.LastLoginDate = DateTime.Now;

                                user.Remark = json.ToString();

                                repo.Save(user, out var key);

                                #endregion

                                #region 封装 UserWeChat 实例

                                userWeChat.ID                = (Guid)key;
                                userWeChat.UserName          = json["userid"] != null ? json["userid"].Value <string>() : string.Empty;
                                userWeChat.LastAuthorizeDate = DateTime.Now;
                                userWeChat.Gender            = json["gender"]?.Value <short>() ?? -1;
                                userWeChat.Avatar            = json["avatar"] != null ? json["avatar"].Value <string>() : string.Empty;

                                if (!string.IsNullOrEmpty(deviceId))
                                {
                                    userWeChat.DeviceId = deviceId;
                                }

                                repo.Save(userWeChat, out key);

                                #endregion

                                trans.Commit();

                                return(user);
                            }
                        }
                        catch
                        {
                            trans.Rollback();
                        }
                    }
                }
            }

            return(null);
        }