예제 #1
0
        public ActionResult Upload(BaseFileUpload model)
        {
            ICollection <string> filename = null;

            if (string.IsNullOrWhiteSpace(model.FilePath))
            {
                filename = this.UploadFile(isResetName: model.IsResetName);
            }
            else
            {
                filename = this.UploadFile(path: model.FilePath, isResetName: model.IsResetName);
            }

            if (filename == null || filename.Count <= 0)
            {
                return(Json(Comm.ToJsonResult("Error", "上传失败")));
            }

            switch (model.Server)
            {
            default:
            case UploadServer.Local:
            {
                return(Json(Comm.ToJsonResult("Success", "成功", new
                    {
                        FileUrls = filename,
                        FileFullUrls = filename.Select(s => Url.ContentFull(s))
                    })));
            }

            case UploadServer.QinQiu:
            {
                List <string> fileList = new List <string>();
                var           qinniu   = new Common.Qiniu.QinQiuApi();
                foreach (var item in filename)
                {
                    var path = Server.MapPath(item);
                    fileList.Add(qinniu.UploadFile(path, true));
                }
                return(Json(Comm.ToJsonResult("Success", "成功", new
                    {
                        FileUrls = fileList,
                        FileFullUrls = fileList
                    })));
            }
            }
        }
예제 #2
0
        private ApplicationUser CreateRandom(Common.WeChat.UserInfoResult model)
        {
            string username, nickname, avart, unionId = model.UnionID;
            var    user = db.Users.FirstOrDefault(s => s.WeChatID == unionId);

            nickname = model.NickName;

            avart = model.HeadImgUrl;
            if (!string.IsNullOrWhiteSpace(avart))
            {
                try
                {
                    avart = this.Download(avart);
                }
                catch (Exception)
                {
                    avart = "~/Content/Images/404/avatar.png";
                }
            }
            unionId = model.UnionID;

            #region 把图片传到七牛
            var path = Server.MapPath(avart);
            avart = new Common.Qiniu.QinQiuApi().UploadFile(path, true);
            #endregion

            do
            {
                username = $"rm{DateTime.Now:yyyyMMddHHmmss}{Comm.Random.Next(1000, 9999)}";
            } while (db.Users.Any(s => s.UserName == username));
            if (string.IsNullOrWhiteSpace(nickname))
            {
                nickname = username;
            }
            user = new ApplicationUser
            {
                WeChatID          = unionId,
                UserName          = username,
                NickName          = nickname,
                Avatar            = avart,
                RegisterDateTime  = DateTime.Now,
                LastLoginDateTime = DateTime.Now,
                UserType          = UserType.Personal
            };

            return(user);
        }
예제 #3
0
        public async Task <ActionResult> CogradientWXUserInfo(string listu, int enterpriseid)
        {
            Sidebar();
            var    users         = JsonConvert.DeserializeObject <List <User> >(listu); //post过来需要保存数据库的用户数据
            int    usertype      = (int)this.GetAccountData().UserType;                 //从cookie中读取用户类型
            string userID        = this.GetAccountData().UserID;                        //从cookie中读取userid
            var    user          = db.Users.FirstOrDefault(s => s.Id == userID);
            var    em            = db.Enterprises.FirstOrDefault(s => s.ID == enterpriseid);
            int    cardcount     = em.CardCount;
            string temptelnumber = string.Empty;

            if (cardcount > users.Count)
            {
                temptelnumber = string.Join(",", users.Select(j => j.Mobile));
                foreach (var item in users)
                {
                    try
                    {
                        //判断数据库中是否存在(只保存不存在的数据)
                        if (!item.ishave)
                        {
                            var img = this.Download(item.Avatar);
                            //var tempuser = new ApplicationUser { UserName = item.Mobile, RegisterDateTime = DateTime.Now, EnterpriseID = em.ID, LastLoginDateTime = DateTime.Now, UserType = UserType.Personal };
                            //var result = await UserManager.CreateAsync(tempuser, item.Mobile);
                            ////用户创建成果
                            //if (result.Succeeded)
                            //{
                            Common.Qiniu.QinQiuApi qin = new Common.Qiniu.QinQiuApi();
                            var  path = Server.MapPath(img);
                            var  img2 = qin.UploadFile(path);
                            Card card = new Card
                            {
                                Name         = item.Name,
                                Avatar       = img2,
                                UserID       = null,
                                Email        = item.Email,
                                EnterpriseID = em.ID,
                                Gender       = item.Gender,
                                Mobile       = item.Mobile,
                                PhoneNumber  = item.Telephone,
                                Position     = item.Position,
                            };
                            db.Cards.Add(card);
                            db.SaveChanges();
                            //}
                        }
                    }
                    catch (Exception ex)
                    {
                        return(Json(Comm.ToJsonResult("Error", ex.Message), JsonRequestBehavior.AllowGet));
                    }
                }
                SendMsg s         = new SendMsg();
                var     resultstr = s.SendSMS(temptelnumber, "403689", "");
                return(Json(Comm.ToJsonResult("Success", "同步成功", new { data = users }), JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(Comm.ToJsonResult("Fail", "该企业剩余名片数量为" + cardcount.ToString() + ",可用数量不够!", new { data = users }), JsonRequestBehavior.AllowGet));
            }
        }
예제 #4
0
        private ApplicationUser CreateByWeChat(Common.WeChat.UserInfoResult model)
        {
            string  username, nickname, avart, unionId = model.UnionID;
            var     user   = db.Users.FirstOrDefault(s => s.WeChatID == unionId);
            IConfig config = null;

            switch (model.Type)
            {
            case WeChatAccount.AiCardMini:
                config = new ConfigMini();
                break;

            case WeChatAccount.AiCardPersonalMini:
                config = new ConfigMiniPersonal();
                break;

            default:
            case WeChatAccount.PC:
                config = new ConfigWeChatWork();
                break;
            }
            if (user != null)
            {
                string appID = config.AppID;
                var    op1   = new Bll.Users.UserOpenID(user);
                op1.AddOpenID(appID, model.OpenID);
                db.SaveChanges();
                return(user);
            }
            nickname = model.NickName;

            avart = model.HeadImgUrl;
            if (!string.IsNullOrWhiteSpace(avart))
            {
                try
                {
                    avart = this.Download(avart);
                }
                catch (Exception)
                {
                    avart = "~/Content/Images/404/avatar.png";
                }
            }
            unionId = model.UnionID;

            #region 把图片传到七牛
            var path = Server.MapPath(avart);
            avart = new Common.Qiniu.QinQiuApi().UploadFile(path, true);
            #endregion


            do
            {
                username = $"wc{DateTime.Now:yyyyMMddHHmmss}{Comm.Random.Next(1000, 9999)}";
            } while (db.Users.Any(s => s.UserName == username));
            if (string.IsNullOrWhiteSpace(nickname))
            {
                nickname = username;
            }
            user = new ApplicationUser
            {
                WeChatID          = unionId,
                UserName          = username,
                NickName          = nickname,
                Avatar            = avart,
                RegisterDateTime  = DateTime.Now,
                LastLoginDateTime = DateTime.Now,
                UserType          = UserType.Personal
            };
            var option = new Bll.Users.UserOpenID(user);
            option.AddOpenID(config.AppID, model.OpenID);
            var r = UserManager.Create(user);
            user = db.Users.FirstOrDefault(s => s.WeChatID == unionId);

            db.SaveChanges();
            if (!r.Succeeded)
            {
                throw new Exception(r.Errors.FirstOrDefault());
            }

            return(user);
        }