Пример #1
0
    public void Show(int old, int newValue)
    {
        int n = 10;
        System.Int32 no1 = 10;
        Emp emp = new Emp();

        Console.WriteLine(old + " value is replaced by " + newValue);
    }
Пример #2
0
 public string AddEmployee([FromBody] Emp emp)
 {
     return(this.Service.AddEmployee(emp));
 }
Пример #3
0
 public IActionResult Put(Emp e)
 {
     repo.Update(e);
     return(Ok("Record updated."));
 }
Пример #4
0
        public ActionResult Details(int id)
        {
            Emp em = emmp.empp.Find(id);

            return(View(em));
        }
Пример #5
0
 public IEnumerable <EmpController> Get()
 {
     _myEmp.WriteMessage("inside the emp controller get first name");
     _myEmp.WriteMessage("inside the emp controller get last name");
     return(Emp.Get());
 }
Пример #6
0
        public async Task <IActionResult> Post(Emp employee)
        {
            await _business.AddEmployee(employee);

            return(NoContent());
        }
Пример #7
0
        public ActionResult EditFactoryAuthority(ViewModel_AuFa auth)
        {
            //宣告變數
            string workNumber          = Session["employee_acc"].ToString();
            string employee_workNumber = Request["employee_workNumber"];
            string auth_workNumber     = Request["authority_workNumber"];
            string factoryid           = Request["factoryId"];
            //action為0表示新增,為1表示停用
            int action = Convert.ToInt32(Request["AddorRemove"].ToString());
            //引用Emp類別
            Emp emp = new Emp();

            try
            {
                //action==0時,表示新增權限
                if (action == 0)
                {
                    //用員工編號跟廠別ID查詢
                    var query = (from o in db.Authority
                                 where o.authority_workNumber == workNumber && o.authority_factoryId == factoryid
                                 select o).ToList();
                    //當查無資料時query陣列沒有元素
                    if (query.Count() == 0)
                    {
                        //創新的Authority資料行
                        Authority authfac = new Authority()
                        {
                            authority_workNumber = auth_workNumber,
                            authority_factoryId  = factoryid,
                            authority_IsDisable  = "N",
                            authority_role       = emp.GetRole(employee_workNumber),
                            authority_updateTime = DateTime.Now,
                            authority_updateuser = emp.Name(employee_workNumber)
                        };
                        //把資料行加入Authority資料表,並儲存
                        db.Authority.Add(authfac);
                        db.SaveChanges();
                    }
                    //當查詢員工編號跟廠別編號有值時
                    else if (query.Count() != 0)
                    {
                        //把資料行內的每個元素做變更
                        foreach (var item in query)
                        {
                            item.authority_Id         = item.authority_Id;
                            item.authority_factoryId  = item.authority_factoryId;
                            item.authority_workNumber = item.authority_workNumber;
                            item.authority_IsDisable  = "N";
                            item.authority_updateuser = emp.Name(employee_workNumber);
                            item.authority_updateTime = DateTime.Now;
                        }
                        //寫回資料表
                        db.SaveChanges();
                    }
                }
                //當action為1時,表示停用該權限
                if (action == 1)
                {
                    //查詢員工編號與廠別代碼的資料
                    var query = (from o in db.Authority
                                 where o.authority_workNumber == workNumber && o.authority_factoryId == factoryid
                                 select o);
                    var qtoList = query.ToList();
                    //取出每個資料數值並更新
                    foreach (var item in query)
                    {
                        item.authority_Id         = item.authority_Id;
                        item.authority_factoryId  = item.authority_factoryId;
                        item.authority_workNumber = item.authority_workNumber;
                        item.authority_IsDisable  = "Y";
                        item.authority_updateuser = emp.Name(employee_workNumber);
                        item.authority_updateTime = DateTime.Now;
                    }
                    //寫回資料表
                    db.SaveChanges();
                }
            }
            catch (Exception ex) //寫回錯誤輸出SQL錯誤碼
            {
                return(Content(ex.ToString()));
            }
            //查詢員工編號與權限沒停用的資料
            var q1 = from o in db.Authority
                     where o.authority_workNumber == workNumber && o.authority_IsDisable == "N"
                     select o;
            //查詢廠別資料
            var q2 = from o in db.Factory
                     select o;
            //引用ViewModel_AuFa類別
            ViewModel_AuFa data = new ViewModel_AuFa();

            //把查詢到的廠別資料給ViewModel_AuFa 下 Factoroy
            data.Factory = q2.ToList();
            //把查詢到的權限資料給ViewModel_AuFa 下 AuthView
            data.AuthView = q1.ToList();
            return(View(data));
        }
Пример #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string receiver = this.Request.QueryString["RE"];
            string mypk     = this.Request.QueryString["MyPK"];

            BP.WF.SMS sms = null;
            if (mypk != null)
            {
                sms      = new SMS();
                sms.MyPK = mypk;
                sms.RetrieveFromDBSources();
            }

            this.Pub1.AddTable();            // (" id='recTable' class='Table' cellpadding='0' cellspacing='0' border='0' style='width:100%;margin-left:auto;margin-right:auto;' ");
            this.Pub1.AddCaptionMsg("消息回复"); //("<caption><div class='CaptionMsg'>消息</div></caption>");
            this.Pub1.AddTR();
            this.Pub1.AddTD("接受人:");

            TB tb = new TB();

            tb.ID    = "rec";
            tb.Width = 430;
            if (!string.IsNullOrEmpty(receiver) && !string.IsNullOrEmpty(mypk))
            {
                Emp emp = new Emp(receiver);
                tb.Text     = emp.Name;
                tb.ReadOnly = true;
                this.Pub1.AddTD(tb);
            }
            else
            {
                this.Pub1.AddTDBegin();
                this.Pub1.Add(tb);

                HiddenField hid = new HiddenField();
                hid.ID = "Hid_FQR";
                Pub1.Add(hid);

                this.Pub1.Add("<a onclick=\"openSelectEmp('" + hid.ClientID + "','" + tb.ClientID + "')\" href='javascript:;'>添加人员</a>");
                this.Pub1.AddTDEnd();
            }
            this.Pub1.AddTREnd();


            this.Pub1.AddTR();
            this.Pub1.AddTD("标题");
            tb    = new TB();
            tb.ID = "title";
            if (sms != null)
            {
                tb.Text = "RE:" + sms.Title;
            }

            tb.Width = 430;
            this.Pub1.AddTD(tb);
            this.Pub1.AddTREnd();


            this.Pub1.AddTR();
            this.Pub1.AddTD("正文");
            tb          = new TB();
            tb.ID       = "con";
            tb.TextMode = TextBoxMode.MultiLine;
            tb.Width    = 430;
            tb.Height   = 120;

            if (sms != null)
            {
                tb.Text = "\t\n ------------------ \t\n " + sms.DocOfEmail;
            }

            this.Pub1.AddTD(tb);
            this.Pub1.AddTREnd();


            this.Pub1.AddTR();
            this.Pub1.AddTDBegin(" colspan=2 ");
            Button btn = new Button();

            btn.ID     = "Btn_Save";
            btn.Text   = "发送";
            btn.Click += new EventHandler(btn_Save_Click);

            Button btnClose = new Button();

            btnClose.ID     = "Btn_Close";
            btnClose.Text   = "取消";
            btnClose.Click += new EventHandler(btnClose_Click);

            this.Pub1.Add(btn);
            this.Pub1.Add(btnClose);
            this.Pub1.AddTDEnd();
            this.Pub1.AddTREnd();

            this.Pub1.AddTableEnd();
        }
Пример #9
0
        /// <summary>
        /// 通用的登陆
        /// </summary>
        /// <param name="guestNo">客户编号</param>
        /// <param name="guestName">客户名称</param>
        /// <param name="deptNo">部门编号</param>
        /// <param name="deptName">部门名称</param>
        /// <param name="lang">语言</param>
        /// <param name="isRememberMe">是否记忆我</param>
        public static void SignInOfGener(string guestNo, string guestName, string deptNo,
                                         string deptName, string lang, bool isRememberMe)
        {
            if (System.Web.HttpContext.Current == null)
            {
                SystemConfig.IsBSsystem = false;
            }
            else
            {
                SystemConfig.IsBSsystem = true;
            }

            //记录客人信息.
            GuestUser.No       = guestNo;
            GuestUser.Name     = guestName;
            GuestUser.DeptNo   = deptNo;
            GuestUser.DeptName = deptName;

            //记录内部客户信息.
            BP.Port.Emp em = new Emp();
            em.No = "Guest";
            if (em.RetrieveFromDBSources() == 0)
            {
                em.Name = "客人";
                em.Insert();
            }
            WebUser.No          = em.No;
            WebUser.Name        = em.Name;
            WebUser.FK_Dept     = em.FK_Dept;
            WebUser.FK_DeptName = em.FK_DeptText;
            WebUser.SysLang     = lang;
            if (BP.Sys.SystemConfig.IsBSsystem)
            {
                // Guest  信息.
                HttpCookie cookie = new HttpCookie("CCSGuest");
                //cookie.Expires = DateTime.Now.AddMonths(10);
                cookie.Expires = DateTime.Now.AddDays(2);
                cookie.Values.Add("GuestNo", guestNo);
                cookie.Values.Add("GuestName", HttpUtility.UrlEncode(guestName));
                cookie.Values.Add("DeptNo", deptNo);
                cookie.Values.Add("DeptName", HttpUtility.UrlEncode(deptName));
                System.Web.HttpContext.Current.Response.AppendCookie(cookie); //加入到会话。


                HttpCookie cookie2 = new HttpCookie("CCS");
                cookie2.Expires = DateTime.Now.AddDays(2);
                // Guest  信息.
                cookie2.Values.Add("GuestNo", guestNo);
                cookie2.Values.Add("GuestName", HttpUtility.UrlEncode(guestName));

                cookie2.Values.Add("DeptNo", deptNo);
                cookie2.Values.Add("DeptName", HttpUtility.UrlEncode(deptName));

                cookie2.Values.Add("No", "Guest");
                cookie2.Values.Add("Name", HttpUtility.UrlEncode(em.Name));

                if (isRememberMe)
                {
                    cookie2.Values.Add("IsRememberMe", "1");
                }
                else
                {
                    cookie2.Values.Add("IsRememberMe", "0");
                }

                cookie2.Values.Add("FK_Dept", em.FK_Dept);
                cookie2.Values.Add("FK_DeptName", HttpUtility.UrlEncode(em.FK_DeptText));

                cookie2.Values.Add("Token", System.Web.HttpContext.Current.Session.SessionID);
                cookie2.Values.Add("SID", System.Web.HttpContext.Current.Session.SessionID);

                cookie2.Values.Add("Lang", lang);
                cookie2.Values.Add("Style", "0");
                cookie2.Values.Add("Auth", ""); //授权人.
                System.Web.HttpContext.Current.Response.AppendCookie(cookie2);
            }
        }
Пример #10
0
        //Main Execution
        public Window02(List <string> SerialList, List <string> TextList, string trade)
        {
            Trade = trade;
            InitializeComponent();
            SetPropertires();
            var Data = ClustersData.GetData(SerialList, TextList);

            Grid1.ItemsSource = Data;

            /// <summary>
            /// Inputing Data Of Cells With Serial In App
            /// </summary>
            #region
            Emp[] e = new Emp[30];
            for (int i = 0; i < TextList.Count; i++)
            {
                e[i] = new Emp();
                if (SerialList[i] == "1")
                {
                    e[i].Serial = "1";
                }
                #region

                else if (SerialList[i] == "2")
                {
                    e[i].Serial = "4";
                }
                else if (SerialList[i] == "3")
                {
                    e[i].Serial = "5";
                }
                else if (SerialList[i] == "4")
                {
                    e[i].Serial = "6";
                }
                else if (SerialList[i] == "5")
                {
                    e[i].Serial = "7";
                }
                else if (SerialList[i] == "6")
                {
                    e[i].Serial = "9";
                }
                else if (SerialList[i] == "7")
                {
                    e[i].Serial = "10";
                }
                else if (SerialList[i] == "8")
                {
                    e[i].Serial = "11";
                }
                else if (SerialList[i] == "9")
                {
                    e[i].Serial = "12";
                }
                else if (SerialList[i] == "10")
                {
                    e[i].Serial = "14";
                }
                else if (SerialList[i] == "11")
                {
                    e[i].Serial = "15";
                }
                else if (SerialList[i] == "12")
                {
                    e[i].Serial = "17";
                }
                else if (SerialList[i] == "13")
                {
                    e[i].Serial = "18";
                }
                else if (SerialList[i] == "14")
                {
                    e[i].Serial = "19";
                }
                else if (SerialList[i] == "15")
                {
                    e[i].Serial = "20";
                }
                else if (SerialList[i] == "16")
                {
                    e[i].Serial = "20";
                }
                else if (SerialList[i] == "17")
                {
                    e[i].Serial = "20";
                }
                else if (SerialList[i] == "18")
                {
                    e[i].Serial = "21";
                }
                else if (SerialList[i] == "19")
                {
                    e[i].Serial = "23";
                }
                else if (SerialList[i] == "20")
                {
                    e[i].Serial = "24";
                }
                else if (SerialList[i] == "21")
                {
                    e[i].Serial = "27";
                }
                else if (SerialList[i] == "22")
                {
                    e[i].Serial = "40";
                }
                #endregion
                e[i].Definition = TextList[i];
                list.Add(e[i]);
            }
            #endregion
        }
Пример #11
0
 public ActionResult DataDisplay(Emp emp)
 {
     return(View(emp));
 }
Пример #12
0
 public ActionResult Index(Emp emp)
 {
     return(View(emp));
 }
Пример #13
0
        /// <summary>
        /// 通用的登陆
        /// </summary>
        /// <param name="em">人员</param>
        /// <param name="lang">语言</param>
        /// <param name="auth">授权人</param>
        /// <param name="isRememberMe">是否记录cookies</param>
        /// <param name="IsRecSID">是否记录SID</param>
        public static void SignInOfGener(Emp em, string lang = "CH", bool isRememberMe = false, bool IsRecSID = false, string authNo = null, string authName = null)
        {
            if (System.Web.HttpContext.Current == null)
            {
                SystemConfig.IsBSsystem = false;
            }
            else
            {
                SystemConfig.IsBSsystem = true;
            }

            if (SystemConfig.IsBSsystem)
            {
                BP.Sys.Glo.WriteUserLog("SignIn", em.No, "登录");
            }

            WebUser.No   = em.No;
            WebUser.Name = em.Name;
            if (DataType.IsNullOrEmpty(authNo) == false)
            {
                WebUser.Auth     = authNo; //被授权人,实际工作的执行者.
                WebUser.AuthName = authName;
            }
            else
            {
                WebUser.Auth     = null;
                WebUser.AuthName = null;
            }


            //登录模式?
            BP.Web.WebUser.UserWorkDev = Web.UserWorkDev.PC;

            #region 解决部门的问题.
            if (BP.Sys.SystemConfig.OSDBSrc == OSDBSrc.Database)
            {
                if (DataType.IsNullOrEmpty(em.FK_Dept) == true)
                {
                    string sql = "";
                    if (BP.Sys.SystemConfig.OSModel == OSModel.OneOne)
                    {
                        sql = "SELECT FK_Dept FROM Port_Emp WHERE No='" + em.No + "'";
                    }
                    else
                    {
                        sql = "SELECT FK_Dept FROM Port_DeptEmp WHERE FK_Emp='" + em.No + "'";
                    }

                    string deptNo = BP.DA.DBAccess.RunSQLReturnString(sql);
                    if (DataType.IsNullOrEmpty(deptNo) == true)
                    {
                        throw new Exception("@登录人员(" + em.No + "," + em.Name + ")没有维护部门...");
                    }
                    else
                    {
                        //调用接口更改所在的部门.
                        WebUser.ChangeMainDept(em.No, deptNo);
                    }
                }

                BP.Port.Dept dept = new Dept();
                dept.No = em.FK_Dept;
                if (dept.RetrieveFromDBSources() == 0)
                {
                    throw new Exception("@登录人员(" + em.No + "," + em.Name + ")没有维护部门,或者部门编号{" + em.FK_Dept + "}不存在.");
                }
            }

            if (BP.Sys.SystemConfig.OSDBSrc == OSDBSrc.WebServices)
            {
                var       ws   = DataType.GetPortalInterfaceSoapClientInstance();
                DataTable dt   = ws.GetEmpHisDepts(em.No);
                string    strs = BP.DA.DBAccess.GenerWhereInPKsString(dt);
                Paras     ps   = new Paras();
                ps.SQL = "UPDATE WF_Emp SET Depts=" + SystemConfig.AppCenterDBVarStr + "Depts WHERE No=" + SystemConfig.AppCenterDBVarStr + "No";
                ps.Add("Depts", strs);
                ps.Add("No", em.No);
                BP.DA.DBAccess.RunSQL(ps);

                dt     = ws.GetEmpHisStations(em.No);
                strs   = BP.DA.DBAccess.GenerWhereInPKsString(dt);
                ps     = new Paras();
                ps.SQL = "UPDATE WF_Emp SET Stas=" + SystemConfig.AppCenterDBVarStr + "Stas WHERE No=" + SystemConfig.AppCenterDBVarStr + "No";
                ps.Add("Stas", strs);
                ps.Add("No", em.No);
                BP.DA.DBAccess.RunSQL(ps);
            }
            #endregion 解决部门的问题.

            WebUser.FK_Dept     = em.FK_Dept;
            WebUser.FK_DeptName = em.FK_DeptText;
            if (IsRecSID)
            {
                //判断是否视图,如果为视图则不进行修改
                if (BP.DA.DBAccess.IsView("Port_Emp") == false)
                {
                    /*如果记录sid*/
                    string sid1 = DateTime.Now.ToString("MMddHHmmss");
                    DBAccess.RunSQL("UPDATE Port_Emp SET SID='" + sid1 + "' WHERE No='" + WebUser.No + "'");
                    WebUser.SID = sid1;
                }
            }


            WebUser.SysLang = lang;
            if (BP.Sys.SystemConfig.IsBSsystem)
            {
                //System.Web.HttpContext.Current.Response.Cookies.Clear();

                HttpCookie hc = BP.Sys.Glo.Request.Cookies["CCS"];
                if (hc != null)
                {
                    BP.Sys.Glo.Request.Cookies.Remove("CCS");
                }

                HttpCookie cookie = new HttpCookie("CCS");
                //设置Cookies有效期
                DateTime time = DateTime.Now;

                //TimeSpan span = new TimeSpan(0, 0, 60, 0, 0);//时间间隔
                //  cookie.Expires = time.Add(span);

                cookie.Values.Add("No", em.No);
                cookie.Values.Add("Name", HttpUtility.UrlEncode(em.Name));

                if (isRememberMe)
                {
                    cookie.Values.Add("IsRememberMe", "1");
                }
                else
                {
                    cookie.Values.Add("IsRememberMe", "0");
                }

                cookie.Values.Add("FK_Dept", em.FK_Dept);
                cookie.Values.Add("FK_DeptName", HttpUtility.UrlEncode(em.FK_DeptText));

                if (System.Web.HttpContext.Current.Session != null)
                {
                    cookie.Values.Add("Token", System.Web.HttpContext.Current.Session.SessionID);
                    cookie.Values.Add("SID", System.Web.HttpContext.Current.Session.SessionID);
                }

                cookie.Values.Add("Lang", lang);
                if (authNo == null)
                {
                    authNo = "";
                }
                cookie.Values.Add("Auth", authNo); //授权人.

                if (authName == null)
                {
                    authName = "";
                }
                cookie.Values.Add("AuthName", authName); //授权人名称..

                System.Web.HttpContext.Current.Response.AppendCookie(cookie);
            }
        }
Пример #14
0
        /// <summary>
        /// 产生一个WorkNode
        /// </summary>
        /// <param name="fk_flow">流程编号</param>
        /// <param name="fk_node">节点ID</param>
        /// <param name="workID">工作ID</param>
        /// <param name="fid">FID</param>
        /// <param name="userNo">用户编号</param>
        /// <returns>返回dataset</returns>
        public static DataSet GenerWorkNodeForAndroid(string fk_flow, int fk_node, Int64 workID, Int64 fid, string userNo)
        {
            if (fk_node == 0)
            {
                fk_node = int.Parse(fk_flow + "01");
            }

            if (workID == 0)
            {
                workID = BP.WF.Dev2Interface.Node_CreateBlankWork(fk_flow, null, null, userNo, null);
            }

            try
            {
                Emp emp = new Emp(userNo);
                BP.Web.WebUser.SignInOfGener(emp);

                MapData md = new MapData();
                md.No = "ND" + fk_node;
                if (md.RetrieveFromDBSources() == 0)
                {
                    throw new Exception("装载错误,该表单ID=" + md.No + "丢失,请修复一次流程重新加载一次.");
                }



                //表单模版.
                DataSet myds = BP.Sys.CCFormAPI.GenerHisDataSet(md.No);
                return(myds);

                #region 流程设置信息.
                Node nd = new Node(fk_node);

                if (nd.IsStartNode == false)
                {
                    BP.WF.Dev2Interface.Node_SetWorkRead(fk_node, workID);
                }

                // 节点数据.
                string    sql = "SELECT * FROM WF_Node WHERE NodeID=" + fk_node;
                DataTable dt  = BP.DA.DBAccess.RunSQLReturnTable(sql);
                dt.TableName = "WF_NodeBar";
                myds.Tables.Add(dt);

                // 流程数据.
                Flow fl = new Flow(fk_flow);
                myds.Tables.Add(fl.ToDataTableField("WF_Flow"));
                #endregion 流程设置信息.

                #region 把主从表数据放入里面.
                //.工作数据放里面去, 放进去前执行一次装载前填充事件.
                BP.WF.Work wk = nd.HisWork;
                wk.OID = workID;
                wk.RetrieveFromDBSources();

                // 处理传递过来的参数。
                foreach (string k in System.Web.HttpContext.Current.Request.QueryString.AllKeys)
                {
                    wk.SetValByKey(k, System.Web.HttpContext.Current.Request.QueryString[k]);
                }

                // 执行一次装载前填充.
                string msg = md.DoEvent(FrmEventList.FrmLoadBefore, wk);
                if (DataType.IsNullOrEmpty(msg) == false)
                {
                    throw new Exception("错误:" + msg);
                }

                wk.ResetDefaultVal();
                myds.Tables.Add(wk.ToDataTableField(md.No));

                //把附件的数据放入.
                if (md.FrmAttachments.Count > 0)
                {
                    sql          = "SELECT * FROM Sys_FrmAttachmentDB where RefPKVal=" + workID + " AND FK_MapData='ND" + fk_node + "'";
                    dt           = BP.DA.DBAccess.RunSQLReturnTable(sql);
                    dt.TableName = "Sys_FrmAttachmentDB";
                    myds.Tables.Add(dt);
                }
                // 图片附件数据放入
                if (md.FrmImgAths.Count > 0)
                {
                    sql          = "SELECT * FROM Sys_FrmImgAthDB where RefPKVal=" + workID + " AND FK_MapData='ND" + fk_node + "'";
                    dt           = BP.DA.DBAccess.RunSQLReturnTable(sql);
                    dt.TableName = "Sys_FrmImgAthDB";
                    myds.Tables.Add(dt);
                }

                //把从表的数据放入.
                if (md.MapDtls.Count > 0)
                {
                    foreach (MapDtl dtl in md.MapDtls)
                    {
                        GEDtls      dtls = new GEDtls(dtl.No);
                        QueryObject qo   = null;
                        try
                        {
                            qo = new QueryObject(dtls);
                            switch (dtl.DtlOpenType)
                            {
                            case DtlOpenType.ForEmp:      // 按人员来控制.
                                qo.AddWhere(GEDtlAttr.RefPK, workID);
                                qo.addAnd();
                                qo.AddWhere(GEDtlAttr.Rec, WebUser.No);
                                break;

                            case DtlOpenType.ForWorkID:     // 按工作ID来控制
                                qo.AddWhere(GEDtlAttr.RefPK, workID);
                                break;

                            case DtlOpenType.ForFID:     // 按流程ID来控制.
                                qo.AddWhere(GEDtlAttr.FID, workID);
                                break;
                            }
                        }
                        catch
                        {
                            dtls.GetNewEntity.CheckPhysicsTable();
                        }
                        DataTable dtDtl = qo.DoQueryToTable();

                        // 为明细表设置默认值.
                        MapAttrs dtlAttrs = new MapAttrs(dtl.No);
                        foreach (MapAttr attr in dtlAttrs)
                        {
                            //处理它的默认值.
                            if (attr.DefValReal.Contains("@") == false)
                            {
                                continue;
                            }

                            foreach (DataRow dr in dtDtl.Rows)
                            {
                                dr[attr.KeyOfEn] = attr.DefVal;
                            }
                        }

                        dtDtl.TableName = dtl.No; //修改明细表的名称.
                        myds.Tables.Add(dtDtl);   //加入这个明细表, 如果没有数据,xml体现为空.
                    }
                }
                #endregion

                #region 把外键表加入DataSet
                DataTable dtMapAttr = myds.Tables["Sys_MapAttr"];
                foreach (DataRow dr in dtMapAttr.Rows)
                {
                    string lgType = dr["LGType"].ToString();
                    if (lgType.Equals("2") == false)
                    {
                        continue;
                    }

                    string UIIsEnable = dr["UIIsEnable"].ToString();
                    if (UIIsEnable.Equals("0") == true)
                    {
                        continue;
                    }

                    string uiBindKey = dr["UIBindKey"].ToString();
                    if (DataType.IsNullOrEmpty(uiBindKey) == true)
                    {
                        string myPK = dr["MyPK"].ToString();
                        /*如果是空的*/
                        throw new Exception("@属性字段数据不完整,流程:" + fl.No + fl.Name + ",节点:" + nd.NodeID + nd.Name + ",属性:" + myPK + ",的UIBindKey IsNull ");
                    }

                    // 判断是否存在.
                    if (myds.Tables.Contains(uiBindKey) == true)
                    {
                        continue;
                    }

                    myds.Tables.Add(BP.Sys.PubClass.GetDataTableByUIBineKey(uiBindKey));
                }
                #endregion End把外键表加入DataSet

                #region 把流程信息放入里面.
                //把流程信息表发送过去.
                GenerWorkFlow gwf = new GenerWorkFlow();
                gwf.WorkID = workID;
                gwf.RetrieveFromDBSources();

                myds.Tables.Add(gwf.ToDataTableField("WF_GenerWorkFlow"));

                if (gwf.WFState == WFState.Shift)
                {
                    //如果是转发.
                    BP.WF.ShiftWorks fws = new ShiftWorks();
                    fws.Retrieve(ShiftWorkAttr.WorkID, workID, ShiftWorkAttr.FK_Node, fk_node);
                    myds.Tables.Add(fws.ToDataTableField("WF_ShiftWork"));
                }

                if (gwf.WFState == WFState.ReturnSta)
                {
                    //如果是退回.
                    ReturnWorks rts = new ReturnWorks();
                    rts.Retrieve(ReturnWorkAttr.WorkID, workID,
                                 ReturnWorkAttr.ReturnToNode, fk_node,
                                 ReturnWorkAttr.RDT);
                    myds.Tables.Add(rts.ToDataTableField("WF_ReturnWork"));
                }

                if (gwf.WFState == WFState.HungUp)
                {
                    //如果是挂起.
                    HungUps hups = new HungUps();
                    hups.Retrieve(HungUpAttr.WorkID, workID, HungUpAttr.FK_Node, fk_node);
                    myds.Tables.Add(hups.ToDataTableField("WF_HungUp"));
                }

                //if (gwf.WFState == WFState.Askfor)
                //{
                //    //如果是加签.
                //    BP.WF.ShiftWorks fws = new ShiftWorks();
                //    fws.Retrieve(ShiftWorkAttr.WorkID, workID, ShiftWorkAttr.FK_Node, fk_node);
                //    myds.Tables.Add(fws.ToDataTableField("WF_ShiftWork"));
                //}

                Int64 wfid = workID;
                if (fid != 0)
                {
                    wfid = fid;
                }


                //放入track信息.
                Paras ps = new Paras();
                ps.SQL = "SELECT * FROM ND" + int.Parse(fk_flow) + "Track WHERE WorkID=" + BP.Sys.SystemConfig.AppCenterDBVarStr + "WorkID";
                ps.Add("WorkID", wfid);
                DataTable dtNode = DBAccess.RunSQLReturnTable(ps);
                dtNode.TableName = "Track";
                myds.Tables.Add(dtNode);

                //工作人员列表,用于审核组件.
                ps     = new Paras();
                ps.SQL = "SELECT * FROM  WF_GenerWorkerlist WHERE WorkID=" + BP.Sys.SystemConfig.AppCenterDBVarStr + "WorkID";
                ps.Add("WorkID", wfid);
                DataTable dtGenerWorkerlist = DBAccess.RunSQLReturnTable(ps);
                dtGenerWorkerlist.TableName = "WF_GenerWorkerlist";
                myds.Tables.Add(dtGenerWorkerlist);

                //放入CCList信息. 用于审核组件.
                ps     = new Paras();
                ps.SQL = "SELECT * FROM WF_CCList WHERE WorkID=" + BP.Sys.SystemConfig.AppCenterDBVarStr + "WorkID";
                ps.Add("WorkID", wfid);
                DataTable dtCCList = DBAccess.RunSQLReturnTable(ps);
                dtCCList.TableName = "WF_CCList";
                myds.Tables.Add(dtCCList);

                //放入WF_SelectAccper信息. 用于审核组件.
                ps     = new Paras();
                ps.SQL = "SELECT * FROM WF_SelectAccper WHERE WorkID=" + BP.Sys.SystemConfig.AppCenterDBVarStr + "WorkID";
                ps.Add("WorkID", wfid);
                DataTable dtSelectAccper = DBAccess.RunSQLReturnTable(ps);
                dtSelectAccper.TableName = "WF_SelectAccper";
                myds.Tables.Add(dtSelectAccper);

                //放入所有的节点信息. 用于审核组件.
                ps     = new Paras();
                ps.SQL = "SELECT * FROM WF_Node WHERE FK_Flow=" + BP.Sys.SystemConfig.AppCenterDBVarStr + "FK_Flow ORDER BY " + NodeAttr.Step;
                ps.Add("FK_Flow", fk_flow);
                DataTable dtNodes = DBAccess.RunSQLReturnTable(ps);
                dtNodes.TableName = "Nodes";
                myds.Tables.Add(dtNodes);

                #endregion 把流程信息放入里面.

                return(myds);
            }
            catch (Exception ex)
            {
                Log.DebugWriteError(ex.StackTrace);
                throw new Exception(ex.Message);
            }
        }
Пример #15
0
        public bool processContractualMonthlyAttSingle(DateTime startDate, DateTime endDate, Emp _Emp, List <AttData> _EmpAttData)
        {
            string EmpMonth = _Emp.EmpID + startDate.Date.Month.ToString();

            //Attendance data of employee for selected dates
            try
            {
                EmpAttData = _EmpAttData;
            }
            catch (Exception ex)
            {
                string _error = "";
                if (ex.InnerException.Message != null)
                {
                    _error = ex.InnerException.Message;
                }
                else
                {
                    _error = ex.Message;
                }
                _myHelperClass.WriteToLogFile("Exception at Contactual Monthly Process: " + _error);

                return(false);
            }
            //Check for already processed data
            if (context.AttMnDatas.Where(aa => aa.EmpMonth == EmpMonth).Count() > 0)
            {
                AttMnData _TempAttMn = context.AttMnDatas.Where(aa => aa.EmpMonth == EmpMonth).FirstOrDefault();
                _attMonth      = _TempAttMn;
                _attMonth.OT1  = 0;
                _attMonth.OT2  = 0;
                _attMonth.OT3  = 0;
                _attMonth.OT4  = 0;
                _attMonth.OT5  = 0;
                _attMonth.OT6  = 0;
                _attMonth.OT7  = 0;
                _attMonth.OT8  = 0;
                _attMonth.OT9  = 0;
                _attMonth.OT10 = 0;
                _attMonth.OT11 = 0;
                _attMonth.OT12 = 0;
                _attMonth.OT13 = 0;
                _attMonth.OT14 = 0;
                _attMonth.OT15 = 0;
                _attMonth.OT16 = 0;
                _attMonth.OT17 = 0;
                _attMonth.OT18 = 0;
                _attMonth.OT19 = 0;
                _attMonth.OT20 = 0;
                _attMonth.OT21 = 0;
                _attMonth.OT22 = 0;
                _attMonth.OT23 = 0;
                _attMonth.OT24 = 0;
                _attMonth.OT25 = 0;
                _attMonth.OT26 = 0;
                _attMonth.OT27 = 0;
                _attMonth.OT28 = 0;
                _attMonth.OT29 = 0;
                _attMonth.OT30 = 0;
                _attMonth.OT31 = 0;
                _attMonth.L1   = null;
                _attMonth.L2   = null;
                _attMonth.L3   = null;
                _attMonth.L4   = null;
                _attMonth.L5   = null;
                _attMonth.L6   = null;
                _attMonth.L7   = null;
                _attMonth.L8   = null;
                _attMonth.L9   = null;
                _attMonth.L10  = null;
                _attMonth.L11  = null;
                _attMonth.L12  = null;
                _attMonth.L13  = null;
                _attMonth.L14  = null;
                _attMonth.L15  = null;
                _attMonth.L16  = null;
                _attMonth.L17  = null;
                _attMonth.L18  = null;
                _attMonth.L19  = null;
                _attMonth.L20  = null;
                _attMonth.L21  = null;
                _attMonth.L22  = null;
                _attMonth.L23  = null;
                _attMonth.L24  = null;
                _attMonth.L25  = null;
                _attMonth.L26  = null;
                _attMonth.L27  = null;
                _attMonth.L28  = null;
                _attMonth.L29  = null;
                _attMonth.L30  = null;
                _attMonth.L31  = null;
            }

            TDays = Convert.ToByte((endDate - startDate).Days + 1);
            List <LvData> _lvData = context.LvDatas.Where(aa => aa.AttDate >= startDate && aa.AttDate <= endDate).ToList();

            CalculateMonthlyAttendanceSheet(EmpAttData, _lvData);
            _attMonth.Period   = startDate.Date.Month.ToString() + startDate.Date.Year.ToString();
            _attMonth.EmpMonth = _Emp.EmpID + startDate.Date.Month.ToString();
            _attMonth.EmpNo    = _Emp.EmpNo;
            _attMonth.EmpID    = _Emp.EmpID;
            _attMonth.EmpName  = _Emp.EmpName;
            try
            {
                if (context.AttMnDatas.Where(aa => aa.EmpMonth == EmpMonth).Count() == 0)
                {
                    context.AttMnDatas.AddObject(_attMonth);
                }
                context.SaveChanges();
            }
            catch (Exception ex)
            {
                string _error = "";
                if (ex.InnerException.Message != null)
                {
                    _error = ex.InnerException.Message;
                }
                else
                {
                    _error = ex.Message;
                }
                _myHelperClass.WriteToLogFile("Exception at Contactual Monthly Process 2: " + _error);
                return(false);
            }
            return(true);
        }
Пример #16
0
        public ActionResult Edit([Bind(Include = "EmpID,EmpNo,EmpName,DesigID,JobID,Gender,ShiftID,LocID,TypeID,GradeID,SecID,CardNo,FpID,PinCode,NicNo,FatherName,BloodGroup,BirthDate,MarStatus,JoinDate,ValidDate,IssueDate,ResignDate,HomeAdd,ProcessAtt,ProcessIn,Status,PhoneNo,Remarks,Email,CellNo,CrewID,FlagFP,FlagFace,FlagCard,EmpImageID,HasOT,Islamabad,Lahore,Karachi,Peshawar,Quetta,Gender")] Emp emp)
        {
            try
            {
                ViewBag.Message = "";
                HttpPostedFileBase file = Request.Files["ImageData"];
                if (file != null)
                {
                    ImageConversion _Image  = new ImageConversion();
                    int             imageid = _Image.UploadImageInDataBase(file, emp);
                    if (imageid != 0)
                    {
                        emp.EmpImageID = imageid;
                    }
                    else
                    {
                    }
                }


                if (string.IsNullOrEmpty(emp.EmpNo))
                {
                    ModelState.AddModelError("EmpNo", "Emp No field is required!");
                }
                if (string.IsNullOrEmpty(emp.EmpName))
                {
                    ModelState.AddModelError("EmpName", "Namefield is required!");
                }
                if (emp.EmpNo != null)
                {
                    if (emp.EmpNo.Length > 15)
                    {
                        ModelState.AddModelError("EmpNo", "String length exceeds!");
                    }
                }
                if (emp.EmpName != null)
                {
                    if (emp.EmpName.Length > 40)
                    {
                        ModelState.AddModelError("EmpName", "String length exceeds!");
                    }
                }
                if (emp.SecID == null)
                {
                    ModelState.AddModelError("SecID", "Please Specify section!");
                }
                if (emp.TypeID == null)
                {
                    ModelState.AddModelError("TypeID", "Please Specify Type!");
                }
                //if (emp.GradeID == null)
                //    ModelState.AddModelError("GradeID", "Please Specify Grade!");
                if (ModelState.IsValid)
                {
                    if (emp.CardNo != "")
                    {
                        int card = Convert.ToInt32(emp.CardNo);
                        emp.CardNo = card.ToString("0000000000");
                    }
                    else
                    {
                        emp.CardNo = "0000000000";
                    }
                    emp.EmpNo   = emp.EmpID.ToString();
                    emp.Deleted = false;
                    List <Emp> emps = db.Emps.Where(aa => aa.EmpID == emp.EmpID).AsNoTracking().ToList();
                    UpdateEmpLocation(emp, emps.First());
                    db.Entry(emp).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    int _userID = Convert.ToInt32(Session["LogedUserID"].ToString());
                    HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.Employee, (byte)MyEnums.Operation.Edit, DateTime.Now);
                    return(RedirectToAction("Index"));
                }
                User LoggedInUser = Session["LoggedUser"] as User;
                ViewBag.CrewID  = new SelectList(db.Crews.OrderBy(s => s.CrewName), "CrewID", "CrewName");
                ViewBag.DesigID = new SelectList(db.Designations.OrderBy(s => s.DesignationName), "DesignationID", "DesignationName");
                // ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s => s.GradeID), "GradeID", "GradeName");
                //ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s=>s.GradeName), "GradeID", "GradeName");
                //ViewBag.JobID = new SelectList(db.JobTitles.OrderBy(s=>s.JobTitle1), "JobID", "JobTitle1");
                ViewBag.LocID   = new SelectList(db.Locations.OrderBy(s => s.LocName), "LocID", "LocName");
                ViewBag.SecID   = new SelectList(db.Sections.OrderBy(s => s.SectionName), "SectionID", "SectionName");
                ViewBag.ShiftID = new SelectList(db.Shifts.OrderBy(s => s.ShiftName), "ShiftID", "ShiftName");
                ViewBag.TypeID  = new SelectList(db.EmpTypes.OrderBy(s => s.TypeName), "TypeID", "TypeName");
                ViewBag.EmpID   = new SelectList(db.EmpFaces.OrderBy(s => s.Face1), "EmpID", "Face1");
                ViewBag.EmpID   = new SelectList(db.EmpFps.OrderBy(s => s.Fp1), "EmpID", "Fp1");
                //ViewBag.CatID = new SelectList(db.Categories.OrderBy(s=>s.CatName), "CatID", "CatName");
                ViewBag.DeptID = new SelectList(db.Departments.OrderBy(s => s.DeptName), "DeptID", "DeptName");
                return(View(emp));
            }
            catch (Exception ex)
            {
                ViewBag.Message = ex.InnerException.ToString();
                User LoggedInUser = Session["LoggedUser"] as User;
                ViewBag.CrewID  = new SelectList(db.Crews.OrderBy(s => s.CrewName), "CrewID", "CrewName");
                ViewBag.DesigID = new SelectList(db.Designations.OrderBy(s => s.DesignationName), "DesignationID", "DesignationName");
                //  ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s => s.GradeID), "GradeID", "GradeName");
                //ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s=>s.GradeName), "GradeID", "GradeName");
                //ViewBag.JobID = new SelectList(db.JobTitles.OrderBy(s=>s.JobTitle1), "JobID", "JobTitle1");
                ViewBag.LocID   = new SelectList(db.Locations.OrderBy(s => s.LocName), "LocID", "LocName");
                ViewBag.SecID   = new SelectList(db.Sections.OrderBy(s => s.SectionName), "SectionID", "SectionName");
                ViewBag.ShiftID = new SelectList(db.Shifts.OrderBy(s => s.ShiftName), "ShiftID", "ShiftName");
                ViewBag.TypeID  = new SelectList(db.EmpTypes.OrderBy(s => s.TypeName), "TypeID", "TypeName");
                ViewBag.EmpID   = new SelectList(db.EmpFaces.OrderBy(s => s.Face1), "EmpID", "Face1");
                ViewBag.EmpID   = new SelectList(db.EmpFps.OrderBy(s => s.Fp1), "EmpID", "Fp1");
                //ViewBag.CatID = new SelectList(db.Categories.OrderBy(s=>s.CatName), "CatID", "CatName");
                ViewBag.DeptID = new SelectList(db.Departments.OrderBy(s => s.DeptName), "DeptID", "DeptName");
                return(View(emp));
            }
        }
Пример #17
0
        public void LoadData()
        {
            var empsCol  = new List <Emp>();
            var deptsCol = new List <Dept>();

            #region Load depts
            var d1 = new Dept
            {
                Deptno = 1,
                Dname  = "IT",
                Loc    = "Moscow"
            };

            var d2 = new Dept
            {
                Deptno = 2,
                Dname  = "Management",
                Loc    = "Paris"
            };

            var d3 = new Dept
            {
                Deptno = 3,
                Dname  = "Salaries",
                Loc    = "Los Angeles"
            };

            deptsCol.Add(d1);
            deptsCol.Add(d2);
            deptsCol.Add(d3);
            Depts = deptsCol;
            #endregion

            #region Load emps
            var e1 = new Emp
            {
                Deptno   = 1,
                Empno    = 1,
                Ename    = "John Doe",
                HireDate = DateTime.Now.AddMonths(-5),
                Job      = "Fullstack Java developer",
                Mgr      = null,
                Salary   = 2000
            };

            var e2 = new Emp
            {
                Deptno   = 1,
                Empno    = 20,
                Ename    = "Karolina Tkacz",
                HireDate = DateTime.Now.AddMonths(-7),
                Job      = "acquisition partner",
                Mgr      = e1,
                Salary   = 4000
            };

            var e3 = new Emp
            {
                Deptno   = 1,
                Empno    = 2,
                Ename    = "Marcin Kowalski",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "Frontend programmer",
                Mgr      = null,
                Salary   = 5000
            };

            var e4 = new Emp
            {
                Deptno   = 2,
                Empno    = 3,
                Ename    = "Łukasz Wielgo",
                HireDate = DateTime.Now.AddMonths(-2),
                Job      = "Fullstack programmer",
                Mgr      = e2,
                Salary   = 6500
            };

            var e5 = new Emp
            {
                Deptno   = 2,
                Empno    = 4,
                Ename    = "Zuzia Pikuła",
                HireDate = DateTime.Now.AddMonths(-2),
                Job      = "Backend programmer",
                Mgr      = e2,
                Salary   = 5500
            };

            var e6 = new Emp
            {
                Deptno   = 2,
                Empno    = 5,
                Ename    = "Andrzej Janusz",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "Manager Supervisor",
                Mgr      = null,
                Salary   = 10000
            };

            var e7 = new Emp
            {
                Deptno   = null,
                Empno    = 6,
                Ename    = "Andrzej Lachowicz",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "DB administrator",
                Mgr      = null,
                Salary   = 7500
            };

            var e8 = new Emp
            {
                Deptno   = 2,
                Empno    = 7,
                Ename    = "Marcin Krajwski",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "Mobile app developer",
                Mgr      = null,
                Salary   = 4000
            };

            var e9 = new Emp
            {
                Deptno   = 2,
                Empno    = 8,
                Ename    = "Władysław Torzewski",
                HireDate = DateTime.Now.AddMonths(-9),
                Job      = "CEO",
                Mgr      = null,
                Salary   = 15000
            };

            var e10 = new Emp
            {
                Deptno   = 2,
                Empno    = 9,
                Ename    = "Andrzej Dalewski",
                HireDate = DateTime.Now.AddMonths(-4),
                Job      = "Network administrator",
                Mgr      = null,
                Salary   = 9000
            };

            empsCol.Add(e1);
            empsCol.Add(e2);
            empsCol.Add(e3);
            empsCol.Add(e4);
            empsCol.Add(e5);
            empsCol.Add(e6);
            empsCol.Add(e7);
            empsCol.Add(e8);
            empsCol.Add(e9);
            empsCol.Add(e10);
            Emps = empsCol;

            #endregion
        }
Пример #18
0
        /// <summary>
        /// 创建WorkID
        /// </summary>
        /// <param name="flowNo">流程编号</param>
        /// <param name="ht">表单参数,可以为null。</param>
        /// <param name="workDtls">明细表参数,可以为null。</param>
        /// <param name="starter">流程的发起人</param>
        /// <param name="title">创建工作时的标题,如果为null,就按设置的规则生成。</param>
        /// <param name="parentWorkID">父流程的WorkID,如果没有父流程就传入为0.</param>
        /// <param name="parentFlowNo">父流程的流程编号,如果没有父流程就传入为null.</param>
        /// <returns>为开始节点创建工作后产生的WorkID.</returns>
        public static Int64 Node_CreateBlankWork(string flowNo, Hashtable ht, DataSet workDtls,
                                                 string guestNo, string title, Int64 parentWorkID, string parentFlowNo, int parentNodeID, string parentEmp)
        {
            //if (BP.Web.WebUser.No != "Guest")
            //    throw new Exception("@必须是Guest登陆才能发起.");



            string dbstr = SystemConfig.AppCenterDBVarStr;

            Flow fl = new Flow(flowNo);
            Node nd = new Node(fl.StartNodeID);


            //把一些其他的参数也增加里面去,传递给ccflow.
            Hashtable htPara = new Hashtable();

            if (parentWorkID != 0)
            {
                htPara.Add(StartFlowParaNameList.PWorkID, parentWorkID);
            }
            if (parentFlowNo != null)
            {
                htPara.Add(StartFlowParaNameList.PFlowNo, parentFlowNo);
            }
            if (parentNodeID != 0)
            {
                htPara.Add(StartFlowParaNameList.PNodeID, parentNodeID);
            }
            if (parentEmp != null)
            {
                htPara.Add(StartFlowParaNameList.PEmp, parentEmp);
            }



            Emp   empStarter = new Emp(BP.Web.WebUser.No);
            Work  wk         = fl.NewWork(empStarter, htPara);
            Int64 workID     = wk.OID;

            #region 给各个属性-赋值
            if (ht != null)
            {
                foreach (string str in ht.Keys)
                {
                    wk.SetValByKey(str, ht[str]);
                }
            }
            wk.OID = workID;
            if (workDtls != null)
            {
                //保存从表
                foreach (DataTable dt in workDtls.Tables)
                {
                    foreach (MapDtl dtl in wk.HisMapDtls)
                    {
                        if (dt.TableName != dtl.No)
                        {
                            continue;
                        }
                        //获取dtls
                        GEDtls daDtls = new GEDtls(dtl.No);
                        daDtls.Delete(GEDtlAttr.RefPK, wk.OID); // 清除现有的数据.

                        GEDtl daDtl = daDtls.GetNewEntity as GEDtl;
                        daDtl.RefPK = wk.OID.ToString();

                        // 为从表复制数据.
                        foreach (DataRow dr in dt.Rows)
                        {
                            daDtl.ResetDefaultVal();
                            daDtl.RefPK = wk.OID.ToString();

                            //明细列.
                            foreach (DataColumn dc in dt.Columns)
                            {
                                //设置属性.
                                daDtl.SetValByKey(dc.ColumnName, dr[dc.ColumnName]);
                            }
                            daDtl.InsertAsOID(DBAccess.GenerOID("Dtl")); //插入数据.
                        }
                    }
                }
            }
            #endregion 赋值

            Paras ps = new Paras();
            // 执行对报表的数据表WFState状态的更新,让它为runing的状态.
            if (DataType.IsNullOrEmpty(title) == false)
            {
                ps     = new Paras();
                ps.SQL = "UPDATE " + fl.PTable + " SET WFState=" + dbstr + "WFState,Title=" + dbstr + "Title WHERE OID=" + dbstr + "OID";
                ps.Add(GERptAttr.WFState, (int)WFState.Blank);
                ps.Add(GERptAttr.Title, title);
                ps.Add(GERptAttr.OID, wk.OID);
                DBAccess.RunSQL(ps);
            }
            else
            {
                ps     = new Paras();
                ps.SQL = "UPDATE " + fl.PTable + " SET WFState=" + dbstr + "WFState,FK_Dept=" + dbstr + "FK_Dept,Title=" + dbstr + "Title WHERE OID=" + dbstr + "OID";
                ps.Add(GERptAttr.WFState, (int)WFState.Blank);
                ps.Add(GERptAttr.FK_Dept, empStarter.FK_Dept);
                ps.Add(GERptAttr.Title, BP.WF.WorkFlowBuessRole.GenerTitle(fl, wk));
                ps.Add(GERptAttr.OID, wk.OID);
                DBAccess.RunSQL(ps);
            }

            // 删除有可能产生的垃圾数据,比如上一次没有发送成功,导致数据没有清除.
            ps     = new Paras();
            ps.SQL = "DELETE FROM WF_GenerWorkFlow  WHERE WorkID=" + dbstr + "WorkID1 OR FID=" + dbstr + "WorkID2";
            ps.Add("WorkID1", wk.OID);
            ps.Add("WorkID2", wk.OID);
            DBAccess.RunSQL(ps);

            ps     = new Paras();
            ps.SQL = "DELETE FROM WF_GenerWorkerList  WHERE WorkID=" + dbstr + "WorkID1 OR FID=" + dbstr + "WorkID2";
            ps.Add("WorkID1", wk.OID);
            ps.Add("WorkID2", wk.OID);
            DBAccess.RunSQL(ps);

            // 设置流程信息
            if (parentWorkID != 0)
            {
                BP.WF.Dev2Interface.SetParentInfo(flowNo, workID, parentFlowNo, parentWorkID, parentNodeID, parentEmp);
            }

            return(wk.OID);
        }
Пример #19
0
 public Emp AddEmployee(Emp employee)
 {
     return(employee);
 }
Пример #20
0
        public static DataTable get_Dashboard_DT(string Active_Set_Goals_Year)
        {
            DataTable Dashboard = new DataTable();

            Dashboard.Columns.Add("EnglishName");
            Dashboard.Columns.Add("Status");
            Dashboard.Columns.Add("Email");
            Dashboard.Columns.Add("ArabicName");
            Dashboard.Columns.Add("Department");
            Dashboard.Columns.Add("EmpHierLvl");

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                SPSite site = SPContext.Current.Site;
                SPWeb web   = site.RootWeb;

                SortedList <string, int> sl = new SortedList <string, int>();
                sl.Add("administrator", 1);
                sl.Add("Everyone", 2);
                sl.Add(@"NT AUTHORITY\authenticated users", 3);
                sl.Add(@"NT AUTHORITY\LOCAL SERVICE", 4);
                sl.Add("System Account", 5);
                sl.Add("ZF eServices", 6);
                sl.Add("Administrator", 7);
                sl.Add("Training 1", 8);
                sl.Add("Training 2", 9);
                sl.Add("Training 3", 10);
                sl.Add("Training 4", 11);
                sl.Add("zf Projects", 12);
                sl.Add("trainee ZF", 13);
                sl.Add("Ibrahim Khalil", 14);
                sl.Add("HR Dept", 15);
                sl.Add("Finance Section", 16);
                sl.Add("Mail Admin", 17);
                sl.Add("Reception ZF", 18);
                sl.Add("rfax", 19);
                sl.Add("Test Manager 1", 20);
                sl.Add("test sp", 21);
                sl.Add("Test SPUser 2", 22);
                sl.Add("Asif", 23);
                sl.Add("Anas", 24);
                sl.Add("Ahmed Al Falahi", 25);
                sl.Add("Ahmed Saeed Alamri", 26);
                sl.Add("Ateeq Al Muhairy", 27);
                sl.Add("Hamad S. Al Ameri", 28);
                sl.Add("Wasim Ishaque Mian", 29);


                foreach (SPUser sp in web.SiteUsers)
                {
                    if (string.IsNullOrEmpty(sp.Email))
                    {
                        continue;
                    }
                    else if (sl.ContainsKey(sp.Name))
                    {
                        continue;
                    }
                    else
                    {
                        try
                        {
                            string[] Status       = get_Emp_Application_Status(sp, Active_Set_Goals_Year);
                            Emp emp               = Emp_DAL.get_Emp_Info(sp.Name);
                            DataRow NewRow        = Dashboard.NewRow();
                            NewRow["EnglishName"] = sp.Name;
                            NewRow["Status"]      = Status[0];
                            NewRow["Email"]       = sp.Email;
                            NewRow["ArabicName"]  = emp.Emp_ArabicName;
                            NewRow["Department"]  = emp.Emp_Department;
                            NewRow["EmpHierLvl"]  = Status[1];

                            Dashboard.Rows.Add(NewRow);
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            });
            return(Dashboard);
        }
Пример #21
0
 public void DeleteEmployee(Emp employee)
 {
     throw new NotImplementedException(); //Remove
 }
Пример #22
0
        public async Task <IActionResult> Put(int id, Emp emp)
        {
            var updateEmp = await _business.UpdateEmployee(id, emp);

            return(Ok(updateEmp));
        }
Пример #23
0
        /// <summary>
        /// 初始化界面.
        /// </summary>
        /// <returns></returns>
        public string TestFlow_Init()
        {
            //清除缓存.
            BP.Sys.SystemConfig.DoClearCash();

            if (1 == 2 && BP.Web.WebUser.IsAdmin == false)
            {
                return("err@您不是管理员,无法执行该操作.");
            }

            // 让admin 登录.
            //   BP.WF.Dev2Interface.Port_Login("admin");

            if (this.RefNo != null)
            {
                Emp emp = new Emp(this.RefNo);
                BP.Web.WebUser.SignInOfGener(emp);
                context.Session["FK_Flow"] = this.FK_Flow;
                return("url@../MyFlow.htm?FK_Flow=" + this.FK_Flow);
            }

            FlowExt fl = new FlowExt(this.FK_Flow);

            if (1 == 2 && BP.Web.WebUser.No != "admin" && fl.Tester.Length <= 1)
            {
                string msg = "err@二级管理员[" + BP.Web.WebUser.Name + "]您好,您尚未为该流程配置测试人员.";
                msg += "您需要在流程属性里的底部[设置流程发起测试人]的属性里,设置可以发起的测试人员,多个人员用逗号分开.";
                return(msg);
            }

            /* 检查是否设置了测试人员,如果设置了就按照测试人员身份进入
             * 设置测试人员的目的是太多了人员影响测试效率.
             * */
            if (fl.Tester.Length > 2)
            {
                // 构造人员表.
                DataTable dtEmps = new DataTable();
                dtEmps.Columns.Add("No");
                dtEmps.Columns.Add("Name");
                dtEmps.Columns.Add("FK_DeptText");

                string[] strs = fl.Tester.Split(',');
                foreach (string str in strs)
                {
                    if (DataType.IsNullOrEmpty(str) == true)
                    {
                        continue;
                    }

                    Emp emp = new Emp();
                    emp.SetValByKey("No", str);
                    int i = emp.RetrieveFromDBSources();
                    if (i == 0)
                    {
                        continue;
                    }

                    DataRow dr = dtEmps.NewRow();
                    dr["No"]          = emp.No;
                    dr["Name"]        = emp.Name;
                    dr["FK_DeptText"] = emp.FK_DeptText;
                    dtEmps.Rows.Add(dr);
                }
                return(BP.Tools.Json.ToJson(dtEmps));
            }



            //fl.DoCheck();

            int       nodeid = int.Parse(this.FK_Flow + "01");
            DataTable dt     = null;
            string    sql    = "";

            BP.WF.Node nd = new BP.WF.Node(nodeid);

            if (nd.IsGuestNode)
            {
                /*如果是guest节点,就让其跳转到 guest登录界面,让其发起流程。*/
                //这个地址需要配置.
                return("url@/SDKFlowDemo/GuestApp/Login.aspx?FK_Flow=" + this.FK_Flow);
            }

            try
            {
                switch (nd.HisDeliveryWay)
                {
                case DeliveryWay.ByStation:
                case DeliveryWay.ByStationOnly:

                    sql = "SELECT Port_Emp.No  FROM Port_Emp LEFT JOIN Port_Dept   Port_Dept_FK_Dept ON  Port_Emp.FK_Dept=Port_Dept_FK_Dept.No  join Port_DeptEmpStation on (fk_emp=Port_Emp.No)   join WF_NodeStation on (WF_NodeStation.fk_station=Port_DeptEmpStation.fk_station) WHERE (1=1) AND  FK_Node=" + nd.NodeID;
                    // emps.RetrieveInSQL_Order("select fk_emp from Port_Empstation WHERE fk_station in (select fk_station from WF_NodeStation WHERE FK_Node=" + nodeid + " )", "FK_Dept");
                    break;

                case DeliveryWay.ByDept:
                    sql = "select No,Name from Port_Emp where FK_Dept in (select FK_Dept from WF_NodeDept where FK_Node='" + nodeid + "') ";
                    //emps.RetrieveInSQL("");
                    break;

                case DeliveryWay.ByBindEmp:
                    sql = "select No,Name from Port_Emp where No in (select FK_Emp from WF_NodeEmp where FK_Node='" + nodeid + "') ";
                    //emps.RetrieveInSQL("select fk_emp from wf_NodeEmp WHERE fk_node=" + int.Parse(this.FK_Flow + "01") + " ");
                    break;

                case DeliveryWay.ByDeptAndStation:
                    //added by liuxc,2015.6.30.
                    //区别集成与BPM模式
                    if (BP.WF.Glo.OSModel == BP.Sys.OSModel.OneOne)
                    {
                        sql  = "SELECT No FROM Port_Emp WHERE No IN ";
                        sql += "(SELECT No as FK_Emp FROM Port_Emp WHERE FK_Dept IN ";
                        sql += "( SELECT FK_Dept FROM WF_NodeDept WHERE FK_Node=" + nodeid + ")";
                        sql += ")";
                        sql += "AND No IN ";
                        sql += "(";
                        sql += "SELECT FK_Emp FROM " + BP.WF.Glo.EmpStation + " WHERE FK_Station IN ";
                        sql += "( SELECT FK_Station FROM WF_NodeStation WHERE FK_Node=" + nodeid + ")";
                        sql += ") ORDER BY No ";
                    }
                    else
                    {
                        sql = "SELECT pdes.FK_Emp AS No"
                              + " FROM   Port_DeptEmpStation pdes"
                              + "        INNER JOIN WF_NodeDept wnd"
                              + "             ON  wnd.FK_Dept = pdes.FK_Dept"
                              + "             AND wnd.FK_Node = " + nodeid
                              + "        INNER JOIN WF_NodeStation wns"
                              + "             ON  wns.FK_Station = pdes.FK_Station"
                              + "             AND wnd.FK_Node =" + nodeid
                              + " ORDER BY"
                              + "        pdes.FK_Emp";
                    }
                    break;

                case DeliveryWay.BySelected:     //所有的人员多可以启动, 2016年11月开始约定此规则.
                    sql = "SELECT No as FK_Emp FROM Port_Emp ";
                    dt  = BP.DA.DBAccess.RunSQLReturnTable(sql);
                    if (dt.Rows.Count > 300)
                    {
                        if (SystemConfig.AppCenterDBType == BP.DA.DBType.MSSQL)
                        {
                            sql = "SELECT top 300 No as FK_Emp FROM Port_Emp ";
                        }

                        if (SystemConfig.AppCenterDBType == BP.DA.DBType.Oracle)
                        {
                            sql = "SELECT  No as FK_Emp FROM Port_Emp WHERE ROWNUM <300 ";
                        }

                        if (SystemConfig.AppCenterDBType == BP.DA.DBType.MySQL)
                        {
                            sql = "SELECT  No as FK_Emp FROM Port_Emp WHERE limit 0,300 ";
                        }
                    }
                    break;

                case DeliveryWay.BySQL:
                    if (DataType.IsNullOrEmpty(nd.DeliveryParas))
                    {
                        return("err@您设置的按SQL访问开始节点,但是您没有设置sql.");
                    }
                    break;

                default:
                    break;
                }

                dt = BP.DA.DBAccess.RunSQLReturnTable(sql);
                if (dt.Rows.Count == 0)
                {
                    return("err@您按照:" + nd.HisDeliveryWay + "的方式设置的开始节点的访问规则,但是开始节点没有人员。");
                }

                if (dt.Rows.Count > 300)
                {
                    return("err@可以发起开始节点的人员太多,会导致系统崩溃变慢,您需要在流程属性里设置可以发起的测试用户.");
                }

                // 构造人员表.
                DataTable dtMyEmps = new DataTable();
                dtMyEmps.Columns.Add("No");
                dtMyEmps.Columns.Add("Name");
                dtMyEmps.Columns.Add("FK_DeptText");

                //处理发起人数据.
                string emps = "";
                foreach (DataRow dr in dt.Rows)
                {
                    string myemp = dr[0].ToString();
                    if (emps.Contains("," + myemp + ",") == true)
                    {
                        continue;
                    }

                    emps += "," + myemp + ",";
                    BP.Port.Emp emp = new Emp(myemp);

                    DataRow drNew = dtMyEmps.NewRow();

                    drNew["No"]          = emp.No;
                    drNew["Name"]        = emp.Name;
                    drNew["FK_DeptText"] = emp.FK_DeptText;

                    dtMyEmps.Rows.Add(drNew);
                }


                //检查物理表,避免错误.
                Nodes nds = new Nodes(this.FK_Flow);
                foreach (Node mynd in nds)
                {
                    mynd.HisWork.CheckPhysicsTable();
                }


                //返回数据源.
                return(BP.Tools.Json.ToJson(dtMyEmps));
            }
            catch (Exception ex)
            {
                return("err@<h2>您没有正确的设置开始节点的访问规则,这样导致没有可启动的人员,<a href='http://bbs.ccflow.org/showtopic-4103.aspx' target=_blank ><font color=red>点击这查看解决办法</font>.</a>。</h2> 系统错误提示:" + ex.Message + "<br><h3>也有可能你你切换了OSModel导致的,什么是OSModel,请查看在线帮助文档 <a href='http://ccbpm.mydoc.io' target=_blank>http://ccbpm.mydoc.io</a>  .</h3>");
            }
        }
Пример #24
0
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns>返回执行结果</returns>
        public override object Do()
        {
            #region 找到要逾期的数据.
            DataTable generTab = null;
            string    sql      = "SELECT a.FK_Flow,a.WorkID,a.Title,a.FK_Node,a.SDTOfNode,a.Starter,a.TodoEmps ";
            sql     += "FROM WF_GenerWorkFlow a, WF_Node b";
            sql     += " WHERE a.SDTOfNode<='" + DataType.CurrentDataTime + "' ";
            sql     += " AND WFState=2 and b.OutTimeDeal!=0";
            sql     += " AND a.FK_Node=b.NodeID";
            generTab = DBAccess.RunSQLReturnTable(sql);
            #endregion 找到要逾期的数据.

            // 遍历循环,逾期表进行处理.
            string msg  = "";
            string info = "";
            foreach (DataRow row in generTab.Rows)
            {
                string fk_flow       = row["FK_Flow"] + "";
                int    fk_node       = int.Parse(row["FK_Node"] + "");
                long   workid        = long.Parse(row["WorkID"] + "");
                string title         = row["Title"] + "";
                string compleateTime = row["SDTOfNode"] + "";
                string starter       = row["Starter"] + "";

                GenerWorkerLists gwls = new GenerWorkerLists();
                gwls.Retrieve(GenerWorkerListAttr.WorkID, workid, GenerWorkerListAttr.FK_Node, fk_node);

                bool isLogin = false;
                foreach (GenerWorkerList item in gwls)
                {
                    if (item.IsEnable == false)
                    {
                        continue;
                    }

                    BP.Port.Emp emp = new Emp(item.FK_Emp);
                    BP.Web.WebUser.SignInOfGener(emp);
                    isLogin = true;
                }

                if (isLogin == false)
                {
                    BP.Port.Emp emp = new Emp("admin");
                    BP.Web.WebUser.SignInOfGener(emp);
                }


                try
                {
                    Node node = new Node(fk_node);
                    if (node.IsStartNode)
                    {
                        continue;
                    }

                    //获得该节点的处理内容.
                    string doOutTime = node.GetValStrByKey(NodeAttr.DoOutTime);
                    switch (node.HisOutTimeDeal)
                    {
                    case OutTimeDeal.None:     //逾期不处理.
                        continue;

                    case OutTimeDeal.AutoJumpToSpecNode:     //跳转到指定的节点.
                        try
                        {
                            //if (doOutTime.Contains(",") == false)
                            //    throw new Exception("@系统设置错误,不符合设置规范,格式为: NodeID,EmpNo  现在设置的为:"+doOutTime);

                            int  jumpNode   = int.Parse(doOutTime);
                            Node jumpToNode = new Node(jumpNode);

                            //设置默认同意.
                            BP.WF.Dev2Interface.WriteTrackWorkCheck(jumpToNode.FK_Flow, node.NodeID, workid, 0,
                                                                    "同意(预期自动审批)", null);

                            //执行发送.
                            info = BP.WF.Dev2Interface.Node_SendWork(fk_flow, workid, null, null, jumpToNode.NodeID, null).ToMsgOfText();

                            // info = BP.WF.Dev2Interface.Flow_Schedule(workid, jumpToNode.NodeID, emp.No);
                            msg = "流程 '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'自动跳转'," + info;


                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Info, msg);
                        }
                        catch (Exception ex)
                        {
                            msg = "流程 '" + node.FlowName + "',WorkID=" + workid + ",标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'自动跳转',跳转异常:" + ex.Message;
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Error, msg);
                        }
                        break;

                    case OutTimeDeal.AutoShiftToSpecUser:     //走动移交给.
                        // 判断当前的处理人是否是.
                        Emp empShift = new Emp(doOutTime);
                        try
                        {
                            BP.WF.Dev2Interface.Node_Shift(fk_flow, fk_node, workid, 0, empShift.No,
                                                           "流程节点已经逾期,系统自动移交");

                            msg = "流程 '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'移交到指定的人',已经自动移交给'" + empShift.Name + ".";
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Info, msg);
                        }
                        catch (Exception ex)
                        {
                            msg = "流程 '" + node.FlowName + "' ,标题:'" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'移交到指定的人',移交异常:" + ex.Message;
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Error, msg);
                        }
                        break;

                    case OutTimeDeal.AutoTurntoNextStep:
                        try
                        {
                            GenerWorkerList workerList = new GenerWorkerList();
                            workerList.RetrieveByAttrAnd(GenerWorkerListAttr.WorkID, workid,
                                                         GenerWorkFlowAttr.FK_Node, fk_node);

                            BP.Web.WebUser.SignInOfGener(workerList.HisEmp);

                            WorkNode firstwn = new WorkNode(workid, fk_node);
                            string   sendIfo = firstwn.NodeSend().ToMsgOfText();
                            msg = "流程  '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'自动发送到下一节点',发送消息为:" + sendIfo;
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Info, msg);
                        }
                        catch (Exception ex)
                        {
                            msg = "流程  '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'自动发送到下一节点',发送异常:" + ex.Message;
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Error, msg);
                        }
                        break;

                    case OutTimeDeal.DeleteFlow:
                        info = BP.WF.Dev2Interface.Flow_DoDeleteFlowByReal(fk_flow, workid, true);
                        msg  = "流程  '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                               "'超时处理规则为'删除流程'," + info;
                        SetText(msg);
                        BP.DA.Log.DefaultLogWriteLine(LogType.Info, msg);
                        break;

                    case OutTimeDeal.RunSQL:
                        try
                        {
                            BP.WF.Work wk = node.HisWork;
                            wk.OID = workid;
                            wk.Retrieve();

                            doOutTime = BP.WF.Glo.DealExp(doOutTime, wk, null);

                            //替换字符串
                            doOutTime.Replace("@OID", workid + "");
                            doOutTime.Replace("@FK_Flow", fk_flow);
                            doOutTime.Replace("@FK_Node", fk_node.ToString());
                            doOutTime.Replace("@Starter", starter);
                            if (doOutTime.Contains("@"))
                            {
                                msg = "流程 '" + node.FlowName + "',标题:  '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                      "'超时处理规则为'执行SQL'.有未替换的SQL变量.";
                                SetText(msg);
                                BP.DA.Log.DefaultLogWriteLine(LogType.Info, msg);
                                break;
                            }

                            //执行sql.
                            DBAccess.RunSQL(doOutTime);
                        }
                        catch (Exception ex)
                        {
                            msg = "流程  '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'执行SQL'.运行SQL出现异常:" + ex.Message;
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Error, msg);
                        }
                        break;

                    case OutTimeDeal.SendMsgToSpecUser:
                        try
                        {
                            Emp myemp = new Emp(doOutTime);

                            bool boo = BP.WF.Dev2Interface.WriteToSMS(myemp.No, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), "系统发送逾期消息",
                                                                      "您的流程:'" + title + "'的完成时间应该为'" + compleateTime + "',流程已经逾期,请及时处理!", "系统消息");
                            if (boo)
                            {
                                msg = "'" + title + "'逾期消息已经发送给:'" + myemp.Name + "'";
                            }
                            else
                            {
                                msg = "'" + title + "'逾期消息发送未成功,发送人为:'" + myemp.Name + "'";
                            }
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Info, msg);
                        }
                        catch (Exception ex)
                        {
                            msg = "流程  '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                                  "'超时处理规则为'执行SQL'.运行SQL出现异常:" + ex.Message;
                            SetText(msg);
                            BP.DA.Log.DefaultLogWriteLine(LogType.Error, msg);
                        }
                        break;

                    default:
                        msg = "流程 '" + node.FlowName + "',标题: '" + title + "'的应该完成时间为'" + compleateTime + "',当前节点'" + node.Name +
                              "'没有找到相应的超时处理规则.";
                        SetText(msg);
                        BP.DA.Log.DefaultLogWriteLine(LogType.Error, msg);
                        break;
                    }
                }
                catch (Exception ex)
                {
                    SetText("流程逾期出现异常:" + ex.Message);
                    BP.DA.Log.DefaultLogWriteLine(LogType.Error, ex.ToString());
                }
            }
            return(generInfo);
        }
Пример #25
0
 public int Create([FromBody] Emp employee)
 {
     return(objemployee.AddEmployee(employee));
 }
Пример #26
0
 public IActionResult Post(Emp e)
 {
     repo.Add(e);
     return(Ok("Record Added."));
 }
Пример #27
0
 public int Edit([FromBody] Emp employee)
 {
     return(objemployee.UpdateEmployee(employee));
 }
Пример #28
0
        static LinqTasks()
        {
            var empsCol  = new List <Emp>();
            var deptsCol = new List <Dept>();

            #region Load depts

            var d1 = new Dept
            {
                Deptno = 1,
                Dname  = "Research",
                Loc    = "Warsaw"
            };

            var d2 = new Dept
            {
                Deptno = 2,
                Dname  = "Human Resources",
                Loc    = "New York"
            };

            var d3 = new Dept
            {
                Deptno = 3,
                Dname  = "IT",
                Loc    = "Los Angeles"
            };

            deptsCol.Add(d1);
            deptsCol.Add(d2);
            deptsCol.Add(d3);
            Depts = deptsCol;

            #endregion

            #region Load emps

            var e1 = new Emp
            {
                Deptno   = 1,
                Empno    = 1,
                Ename    = "Jan Kowalski",
                HireDate = DateTime.Now.AddMonths(-5),
                Job      = "Backend programmer",
                Mgr      = null,
                Salary   = 2000
            };

            var e2 = new Emp
            {
                Deptno   = 1,
                Empno    = 20,
                Ename    = "Anna Malewska",
                HireDate = DateTime.Now.AddMonths(-7),
                Job      = "Frontend programmer",
                Mgr      = e1,
                Salary   = 4000
            };

            var e3 = new Emp
            {
                Deptno   = 1,
                Empno    = 2,
                Ename    = "Marcin Korewski",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "Frontend programmer",
                Mgr      = null,
                Salary   = 5000
            };

            var e4 = new Emp
            {
                Deptno   = 2,
                Empno    = 3,
                Ename    = "Paweł Latowski",
                HireDate = DateTime.Now.AddMonths(-2),
                Job      = "Frontend programmer",
                Mgr      = e2,
                Salary   = 5500
            };

            var e5 = new Emp
            {
                Deptno   = 2,
                Empno    = 4,
                Ename    = "Michał Kowalski",
                HireDate = DateTime.Now.AddMonths(-2),
                Job      = "Backend programmer",
                Mgr      = e2,
                Salary   = 5500
            };

            var e6 = new Emp
            {
                Deptno   = 2,
                Empno    = 5,
                Ename    = "Katarzyna Malewska",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "Manager",
                Mgr      = null,
                Salary   = 8000
            };

            var e7 = new Emp
            {
                Deptno   = null,
                Empno    = 6,
                Ename    = "Andrzej Kwiatkowski",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "System administrator",
                Mgr      = null,
                Salary   = 7500
            };

            var e8 = new Emp
            {
                Deptno   = 2,
                Empno    = 7,
                Ename    = "Marcin Polewski",
                HireDate = DateTime.Now.AddMonths(-3),
                Job      = "Mobile developer",
                Mgr      = null,
                Salary   = 4000
            };

            var e9 = new Emp
            {
                Deptno   = 2,
                Empno    = 8,
                Ename    = "Władysław Torzewski",
                HireDate = DateTime.Now.AddMonths(-9),
                Job      = "CTO",
                Mgr      = null,
                Salary   = 12000
            };

            var e10 = new Emp
            {
                Deptno   = 2,
                Empno    = 9,
                Ename    = "Andrzej Dalewski",
                HireDate = DateTime.Now.AddMonths(-4),
                Job      = "Database administrator",
                Mgr      = null,
                Salary   = 9000
            };

            empsCol.Add(e1);
            empsCol.Add(e2);
            empsCol.Add(e3);
            empsCol.Add(e4);
            empsCol.Add(e5);
            empsCol.Add(e6);
            empsCol.Add(e7);
            empsCol.Add(e8);
            empsCol.Add(e9);
            empsCol.Add(e10);
            Emps = empsCol;

            #endregion
        }
Пример #29
0
        public ActionResult Create([Bind(Include = "EmpID,EmpNo,EmpName,DesigID,JobID,Gender,ShiftID,LocID,TypeID,GradeID,SecID,CardNo,FpID,PinCode,NicNo,FatherName,BloodGroup,BirthDate,MarStatus,JoinDate,ValidDate,IssueDate,ResignDate,HomeAdd,ProcessAtt,ProcessIn,Status,PhoneNo,Remarks,Email,CellNo,CrewID,FlagFP,FlagFace,FlagCard,EmpImageID,HasOT,Islamabad,Lahore,Karachi,Peshawar,Quetta,Gender")] Emp emp)
        {
            string empNo = "";

            emp.EmpNo = emp.EmpID.ToString();
            int cardno = Convert.ToInt32(emp.CardNo);

            emp.CardNo = cardno.ToString("0000000000");
            if (db.Emps.Where(aa => aa.Status == true && aa.Deleted != true).Count() >= 4000)
            {
                ModelState.AddModelError("EmpNo", "Active Number of employees are exceeded from license ");
            }
            if (string.IsNullOrEmpty(emp.EmpNo))
            {
                ModelState.AddModelError("EmpNo", "Emp No is required!");
            }
            if (string.IsNullOrEmpty(emp.EmpName))
            {
                ModelState.AddModelError("EmpName", "Name is required!");
            }
            if (emp.EmpID != null)
            {
                if (db.Emps.Where(aa => aa.EmpID == emp.EmpID).Count() > 0)
                {
                    ModelState.AddModelError("EmpID", "Emp ID should be unique!");
                }
            }
            else
            {
                ModelState.AddModelError("EmpID", "Emp ID is a required fields!");
            }

            if (emp.EmpNo != null)
            {
                if (emp.EmpNo.Length > 15)
                {
                    ModelState.AddModelError("EmpNo", "String length exceeds!");
                }
                if (db.Emps.Where(aa => aa.EmpNo.ToUpper() == emp.EmpNo.ToUpper()).Count() > 0)
                {
                    ModelState.AddModelError("EmpNo", "Emp No should be unique!");
                }
            }
            if (emp.CardNo != null)
            {
                if (db.Emps.Where(aa => aa.CardNo == emp.CardNo).Count() > 0)
                {
                    if (emp.CardNo != "0000000000")
                    {
                        ModelState.AddModelError("CardNo", "Card No should be unique!");
                    }
                }
                if (emp.CardNo.Length > 10)
                {
                    ModelState.AddModelError("CardNo", "String length exceeds!");
                }
            }
            if (emp.EmpName != null)
            {
                if (emp.EmpName.Length > 40)
                {
                    ModelState.AddModelError("EmpName", "String length exceeds!");
                }
            }
            if (emp.SecID == null)
            {
                ModelState.AddModelError("SecID", "Please Specify section!");
            }
            if (emp.TypeID == null)
            {
                ModelState.AddModelError("TypeID", "Please Specify Type!");
            }
            //if (emp.GradeID == null)
            //ModelState.AddModelError("GradeID", "Please Specify Grade!");
            if (db.Emps.Where(aa => aa.Status == true).Count() > 4000)
            {
                ModelState.AddModelError("EmpNo", "Your Employees has exceeded from License, Please upgrade your license");
            }
            if (ModelState.IsValid)
            {
                emp.ProcessAtt = true;
                //emp.ProcessI = true;
                emp.EmpNo = emp.EmpNo.ToUpper();
                if (emp.CardNo != "")
                {
                    int card = Convert.ToInt32(emp.CardNo);
                    emp.CardNo = card.ToString("0000000000");
                }
                else
                {
                    emp.CardNo = "0000000000";
                }
                empNo       = emp.EmpNo;
                emp.Deleted = false;
                AddEmpLocation(emp);
                //emp.FpID = emp.EmpID;
                db.Emps.Add(emp);
                //db.SaveChanges();
                SaveChanges(db);
                int _userID = Convert.ToInt32(Session["LogedUserID"].ToString());
                HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.Employee, (byte)MyEnums.Operation.Add, DateTime.Now);
                HttpPostedFileBase file = Request.Files["ImageData"];
                if (file != null)
                {
                    ImageConversion _Image  = new ImageConversion();
                    int             imageID = _Image.UploadImageInDataBase(file, emp.EmpNo);
                    if (imageID != 0)
                    {
                        using (var ctx = new TAS2013Entities())
                        {
                            var _emp = ctx.Emps.Where(aa => aa.EmpNo == empNo).ToList();
                            if (_emp.Count > 0)
                            {
                                _emp.FirstOrDefault().EmpImageID = imageID;
                                ctx.SaveChanges();
                                ctx.Dispose();
                            }
                        }
                    }
                    else
                    {
                    }
                }
                return(RedirectToAction("Index"));
            }
            //var _wings = new List<Division>();
            using (TAS2013Entities context = new TAS2013Entities())
            {
                //ViewBag.Wing = new SelectList(_wings.OrderBy(s=>s.DivisionName), "WingID", "WingName");
                User LoggedInUser = Session["LoggedUser"] as User;
                //ViewBag.CrewID = new SelectList(db.Crews.OrderBy(s=>s.CrewName), "CrewID", "CrewName");
                ViewBag.DesigID = new SelectList(db.Designations.OrderBy(s => s.DesignationName), "DesignationID", "DesignationName");
                //ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s => s.GradeID), "GradeID", "GradeName");
                //ViewBag.GradeID = new SelectList(db.Grades.OrderBy(s=>s.GradeName), "GradeID", "GradeName");
                //ViewBag.JobID = new SelectList(db.JobTitles.OrderBy(s=>s.JobTitle1), "JobID", "JobTitle1");
                ViewBag.LocID   = new SelectList(db.Locations.OrderBy(s => s.LocName), "LocID", "LocName");
                ViewBag.SecID   = new SelectList(db.Sections.OrderBy(s => s.SectionName), "SectionID", "SectionName");
                ViewBag.ShiftID = new SelectList(db.Shifts.OrderBy(s => s.ShiftName), "ShiftID", "ShiftName");
                ViewBag.TypeID  = new SelectList(db.EmpTypes.OrderBy(s => s.TypeName), "TypeID", "TypeName");
                //ViewBag.CatID = new SelectList(db.Categories.OrderBy(s=>s.CatName), "CatID", "CatName");
                ViewBag.DeptID = new SelectList(db.Departments.OrderBy(s => s.DeptName), "DeptID", "DeptName");
            }
            return(View(emp));
        }
Пример #30
0
        private void AddEmpLocation(Emp emp)
        {
            EmpLocation emploc = new EmpLocation();

            if (emp.Islamabad == true)
            {
                emploc.EmpID      = emp.EmpID;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Islamabad").LocID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = true;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            else
            {
                emploc.EmpID      = emp.EmpID;
                emploc.IsFresh    = true;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Islamabad").LocID;
                emploc.HasAccess  = false;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            if (emp.Lahore == true)
            {
                emploc.EmpID      = emp.EmpID;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Lahore").LocID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = true;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            else
            {
                emploc.EmpID      = emp.EmpID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = false;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Lahore").LocID;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            if (emp.Karachi == true)
            {
                emploc.EmpID      = emp.EmpID;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Karachi").LocID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = true;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            else
            {
                emploc.EmpID      = emp.EmpID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = false;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Karachi").LocID;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            if (emp.Peshawar == true)
            {
                emploc.EmpID      = emp.EmpID;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Peshawar").LocID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = true;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            else
            {
                emploc.EmpID      = emp.EmpID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = false;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Peshawar").LocID;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            if (emp.Quetta == true)
            {
                emploc.EmpID      = emp.EmpID;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Quetta").LocID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = true;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
            else
            {
                emploc.EmpID      = emp.EmpID;
                emploc.IsFresh    = true;
                emploc.HasAccess  = false;
                emploc.LocationID = db.Locations.First(aa => aa.LocName == "Quetta").LocID;
                db.EmpLocations.Add(emploc);
                db.SaveChanges();
            }
        }
Пример #31
0
 public ActionResult Index1(Emp E)
 {
     return(View("Display", E));
 }