コード例 #1
0
ファイル: AuditBussiness.cs プロジェクト: shenbo1/company
        public static AuditMain GetAuditMainById(int id, out string message)
        {
            message = "";
            AuditMain main = new AuditMain();

            try
            {
                main = AuditMainDBOperate.GetAuditMainById(id);
                if (main == null)
                {
                    message = "MainNull"; return(null);
                }
                var list        = AuditMainDBOperate.GetAuditDetailList(main.MainId);
                var memeberList = CompanyUserDBOperate.GetUserByIds(list.Select(a => a.OperateBy).ToArray());
                list.ForEach(a => {
                    var model = memeberList.FirstOrDefault(b => b.Id == a.OperateBy);
                    if (model == null)
                    {
                        return;
                    }
                    a.OperateName    = model.Name;
                    a.OperateHeadUrl = model.WeChatHeadUrl;
                });
                main.DetailList = list;
            }
            catch (Exception ex)
            {
                LogBussiness.AddLog("GetAuditMainById", id + "", ex.Message, Util.LogLevel.Error);
            }
            return(main);
        }
コード例 #2
0
ファイル: WeChatController.cs プロジェクト: shenbo1/company
        public JsonResult Bind(string openid, string headUrl, string name, string userName)
        {
            var model = CompanyUserDBOperate.GetModelByName(userName);

            model.IsBindWeChat   = 1;
            model.WeChatOpenId   = openid;
            model.WeChatHeadUrl  = headUrl;
            model.WeChatNickName = name;
            CompanyUserDBOperate.ModifyCompanyUser(model);
            return(Json(new { code = 1 }));
        }
コード例 #3
0
ファイル: MemberController.cs プロジェクト: shenbo1/company
        //public JsonResult GetMemberInfo()
        //{
        //    var user = CookieOperate.MemberCookie;
        //    ResultInfo<Dto.CompanyUser> result = new ResultInfo<Dto.CompanyUser>();
        //    if (user != null) { result.IsSuccess = true; result.Data = user; }
        //    return Json(result);
        //}
        public JsonResult MemberList()
        {
            var list = CompanyUserDBOperate.GetComapnyUserList(CookieOperate.MemberCookie.CompanyId);
            ResultInfo <List <CompanyUser> > result = new ResultInfo <List <CompanyUser> >()
            {
                IsSuccess = true
            };

            result.Data = list;
            return(Json(result));
        }
コード例 #4
0
ファイル: WeChatController.cs プロジェクト: shenbo1/company
        public ActionResult BindWeChat(string openid, string headUrl, string name, string userName)
        {
            var model = CompanyUserDBOperate.GetModelByName(userName);

            //model.IsBindWeChat = 1;
            model.WeChatOpenId   = openid;
            model.WeChatHeadUrl  = headUrl;
            model.WeChatNickName = name;

            //ViewBag.OpenId = openid;
            //ViewBag.headUrl = headUrl;
            //ViewBag.name = name;
            //ViewBag.userName = userName;
            return(View(model));
        }
コード例 #5
0
        /// <summary>
        /// 通过手机号登录
        /// </summary>
        /// <param name="Mobile"></param>
        /// <param name="Code"></param>
        /// <returns></returns>
        public static ResultInfo LoginByMobile(string Mobile, string Code)
        {
            ResultInfo info = new ResultInfo();

            if (!Code.Equals(CommonMethod.MobileVerify))
            {
                info.Code = "CodeError"; return(info);
            }
            var user = CompanyUserDBOperate.GetModelByMobile(Mobile);

            if (user == null)
            {
                info.Code = "MemberMobileNotExist"; return(info);
            }
            var depart = CompanyDepartMentDBOperate.GetDepartMentById(user.DepartId);

            user.DepartName            = depart.Name;
            CookieOperate.MemberCookie = user;
            info.IsSuccess             = true;
            CommonMethod.MobileVerify  = "";
            return(info);
        }
コード例 #6
0
ファイル: WorkItemsBLL.cs プロジェクト: shenbo1/company
        public static bool ImportExcel(DataTable dt, CompanyUser user)
        {
            try
            {
                using (SqlBulkCopy sqlBC = new SqlBulkCopy(ConfigSetting.DataConnection))
                {
                    //一次批量的插入的数据量
                    sqlBC.BatchSize = dt.Rows.Count;
                    //超时之前操作完成所允许的秒数,如果超时则事务不会提交 ,数据将回滚,所有已复制的行都会从目标表中移除
                    sqlBC.BulkCopyTimeout = 1800;
                    //设置要批量写入的表
                    sqlBC.DestinationTableName = "WorkListItems";


                    DataTable newDt = new DataTable();

                    #region  赋值
                    var            objType    = typeof(WorkListItems);
                    PropertyInfo[] properties = objType.GetProperties();
                    string[]       outColName = new string[] { "Id", "ModifyDate", "CanEdit", "ModifyBy", "LevelName", "LevelClass", "StatusName", "StatusClass", "WorkName", "ProjectName" };
                    foreach (var item in properties)
                    {
                        var name = item.Name;
                        if (outColName.Contains(name))
                        {
                            continue;
                        }
                        newDt.Columns.Add(new DataColumn()
                        {
                            ColumnName = item.Name
                        });
                        sqlBC.ColumnMappings.Add(item.Name, item.Name);
                    }
                    var itemType   = CommonMethod.GetEnumItems <ItemType>();
                    var itemStatus = CommonMethod.GetEnumItems <ItemStatus>();
                    var userName   = new List <string>();
                    var workId     = new List <int>();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        var type   = dt.Rows[i][6].ToString();
                        var status = dt.Rows[i][7].ToString();
                        KeyValuePair <string, string>?typeTxt   = itemType.FirstOrDefault(a => a.Value == type);
                        KeyValuePair <string, string>?statusTxt = itemStatus.FirstOrDefault(a => a.Value == status);
                        if (!typeTxt.HasValue ||
                            string.IsNullOrWhiteSpace(typeTxt.Value.Key) ||
                            !statusTxt.HasValue ||
                            string.IsNullOrWhiteSpace(statusTxt.Value.Key))
                        {
                            continue;
                        }
                        DataRow dr = newDt.NewRow();
                        dr["CompanyId"]   = user.CompanyId.ToString();
                        dr["CompanyName"] = user.CompanyName.ToString();
                        dr["ProjectId"]   = "";
                        dr["WorkId"]      = dt.Rows[i][0];
                        dr["Name"]        = dt.Rows[i][1];
                        dr["Infos"]       = dt.Rows[i][2];
                        dr["UserName"]    = dt.Rows[i][3].ToString() + ",";
                        dr["Level"]       = dt.Rows[i][4].ToString();
                        dr["DayCount"]    = dt.Rows[i][5].ToString();
                        dr["StartDate"]   = DateTime.Now;
                        dr["EndDate"]     = DateTime.Now.AddDays(CommonMethod.GetInt(dr["DayCount"]));

                        dr["Type"]   = typeTxt.Value.Key;
                        dr["Status"] = statusTxt.Value.Key;


                        dr["IsDeleted"]  = "0";
                        dr["CreateDate"] = DateTime.Now.ToString();
                        dr["CreateBy"]   = user.UserName;
                        newDt.Rows.Add(dr);
                        workId.Add(CommonMethod.GetInt(dt.Rows[i][0]));
                        userName.AddRange(dr["UserName"].ToString().Split(','));
                    }
                    #endregion

                    var companyList = CompanyUserDBOperate.GetUserByNames(userName.ToArray());
                    var workList    = WorkListDBOperate.GetListByIds(workId.ToArray());

                    for (int i = 0; i < newDt.Rows.Count; i++)
                    {
                        var usrName = newDt.Rows[i]["UserName"].ToString();
                        var usrs    = usrName.Split(',');
                        var ids     = string.Empty;
                        foreach (var item in usrs)
                        {
                            if (string.IsNullOrWhiteSpace(item))
                            {
                                continue;
                            }
                            ids += companyList.FirstOrDefault(a => a.Name == item).UserName + ",";
                        }
                        var wId = CommonMethod.GetInt(newDt.Rows[i]["WorkId"]);
                        newDt.Rows[i]["UserId"]    = ids;
                        newDt.Rows[i]["ProjectId"] = workList.FirstOrDefault(a => a.Id == wId).ProjectId;
                    }

                    //批量写入
                    if (newDt.Rows.Count != 0 && newDt != null)
                    {
                        sqlBC.WriteToServer(newDt);
                        newDt.Dispose();
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
                LogBussiness.AddLog("WorkItemsImport", "", ex.Message, LogLevel.Error);
                return(false);
            }
            return(true);
        }