Example #1
0
        private void button1_Click(object sender, RibbonControlEventArgs e)
        {
            UserAccessForm form = new UserAccessForm();
            ExcelUser      me   = new ExcelUser("Lucas", "Glass", UserAccessLevel.Admin);

            form.checkedListBox1.Items.Add(me);
            form.checkedListBox1.Items.Add(new ExcelUser()
            {
                FirstName = "Jon", LastName = "Deming"
            }, false);
            form.checkedListBox1.Items.Add(new ExcelUser()
            {
                FirstName = "Friend Lee", LastName = "Deming"
            }, false);
            //me.OnAccessLevelChanged += Me_OnAccessLevelChanged;
            me.AccessLevel = UserAccessLevel.Default;
            //form.checkedListBox1.ItemCheck += CheckedListBox1_ItemCheck;
            form.Show();
        }
Example #2
0
        void SelectionLocationReceived(object sender, EventArgs e)
        {
            RangePacket packet    = (RangePacket)sender;
            Range       selection = ActiveWorksheet.Range[packet.RangeInfo];
            ExcelUser   user      = packet.User;

            if (lastRange != null)
            {
                Debug.WriteLine(lastLeftColor);
                lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Color       = lastLeftColor;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight      = lastLeftWeight;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle   = lastLeftStyle;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Color        = lastTopColor;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Weight       = lastTopWeight;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle    = lastTopStyle;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Color      = lastRightColor;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Weight     = lastRightWeight;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle  = lastRightStyle;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Color     = lastBottomColor;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight    = lastBottomWeight;
                lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle = lastBottomStyle;
                lastRange.ClearComments();
                if (lastComments.Count >= 0)
                {
                    if (lastComments[0] != null)
                    {
                        lastRange.AddComment(lastComments[0]);
                    }
                }


                //all you have to do is .copy!!!!!!!!!!!!!!!!!!!!!!
                //selection.Copy(lastRange);
                //ActiveWorksheet.Range["A1"].Value = "test";
            }
            lastRange = selection;
            Debug.WriteLine("got selection change");
            ActiveRange  = selection;
            lastComments = new List <string>();

            lastLeftColor    = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Color;
            lastLeftWeight   = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight;
            lastLeftStyle    = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle;
            lastTopColor     = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeTop].Color;
            lastTopWeight    = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeTop].Weight;
            lastTopStyle     = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle;
            lastRightColor   = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeRight].Color;
            lastRightWeight  = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeRight].Weight;
            lastRightStyle   = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle;
            lastBottomColor  = (XlRgbColor)selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Color;
            lastBottomWeight = (XlBorderWeight)selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight;
            lastBottomStyle  = (XlLineStyle)selection.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle;

            selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Color    = XlRgbColor.rgbBlue;
            selection.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight   = XlBorderWeight.xlMedium;
            selection.Borders.Item[XlBordersIndex.xlEdgeTop].Color     = XlRgbColor.rgbBlue;
            selection.Borders.Item[XlBordersIndex.xlEdgeTop].Weight    = XlBorderWeight.xlMedium;
            selection.Borders.Item[XlBordersIndex.xlEdgeRight].Color   = XlRgbColor.rgbBlue;
            selection.Borders.Item[XlBordersIndex.xlEdgeRight].Weight  = XlBorderWeight.xlMedium;
            selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Color  = XlRgbColor.rgbBlue;
            selection.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlMedium;

            lastComments.Add(selection.Comment?.Text());
            selection.ClearComments();
            Debug.WriteLine("Made it to comment adding");
            if (selection.Count < 2)
            {
                selection.AddComment(user.ToString() + ": Updating this cell at the moment");
            }
            else
            {
                selection[selection.Columns.Count]?.AddComment(user.ToString() + ": Updating these cells at the moment");
            }
        }
Example #3
0
        private void Application_SheetSelectionChange(object Sh, Range Target)
        {
            /*if (lastRange != null)
             * {
             *  Debug.WriteLine(lastLeftColor);
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Color = lastLeftColor;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight = lastLeftWeight;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle = lastLeftStyle;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Color = lastTopColor;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].Weight = lastTopWeight;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle = lastTopStyle;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Color = lastRightColor;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].Weight = lastRightWeight;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle = lastRightStyle;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Color = lastBottomColor;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = lastBottomWeight;
             *  lastRange.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle = lastBottomStyle;
             *  int count = 0;
             *  foreach (Range r in lastRange)
             *  {
             *      r.ClearComments();
             *      if (lastComments[count] != null)
             *          r.AddComment(lastComments[count]);
             *      count++;
             *  }
             *  //all you have to do is .copy!!!!!!!!!!!!!!!!!!!!!!
             *  Target.Copy(lastRange);
             *  ActiveWorksheet.Range["A1"].Value = "test";
             * }
             * lastRange = Target;
             * Debug.WriteLine("got selection change");
             * ActiveRange = Target;
             * lastComments = new List<string>();
             *
             * lastLeftColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Color;
             * lastLeftWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight;
             * lastLeftStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeLeft].LineStyle;
             * lastTopColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeTop].Color;
             * lastTopWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeTop].Weight;
             * lastTopStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeTop].LineStyle;
             * lastRightColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeRight].Color;
             * lastRightWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeRight].Weight;
             * lastRightStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeRight].LineStyle;
             * lastBottomColor = (XlRgbColor)Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Color;
             * lastBottomWeight = (XlBorderWeight)Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight;
             * lastBottomStyle = (XlLineStyle)Target.Borders.Item[XlBordersIndex.xlEdgeBottom].LineStyle;
             *
             * Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Color = XlRgbColor.rgbBlue;
             * Target.Borders.Item[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlMedium;
             * Target.Borders.Item[XlBordersIndex.xlEdgeTop].Color = XlRgbColor.rgbBlue;
             * Target.Borders.Item[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlMedium;
             * Target.Borders.Item[XlBordersIndex.xlEdgeRight].Color = XlRgbColor.rgbBlue;
             * Target.Borders.Item[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlMedium;
             * Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Color = XlRgbColor.rgbBlue;
             * Target.Borders.Item[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlMedium;
             * foreach (Range r in Target)
             * {
             *  lastComments.Add(r.Comment?.Text());
             *  r.ClearComments();
             *  r.AddComment(ActiveWorkbook?.Author + ": Updating this cell at the moment");
             * }*/


            RangePacket packet = new RangePacket();

            //Target.Borders[XlBordersIndex.xlEdgeTop]
            Debug.WriteLine(Target.Address);
            packet.RangeInfo = Target.Address;
            ExcelUser user = new ExcelUser("Lucas", "Glass");

            packet.User = user;
            TCPClient.SendSelectionUpdate(packet);
        }
Example #4
0
        /// <summary>
        /// 导入数据
        /// </summary>
        /// <param name="impdto"></param>
        /// <returns></returns>
        public bool ImportData(List <ExcelImportDataDTO> impdtolst)
        {
            bool blResult = false;

            using (var tcdmse = new Entities.TCDMS_MasterDataEntities())
            {
                foreach (var p in impdtolst)
                {
                    if (p is ExcelUser) // 判断是否为用户信息
                    {
                        ExcelUser exrdt = p as ExcelUser;
                        if (exrdt.UpLogic == 2)
                        {
                            var origin = tcdmse.master_UserInfo.Where(m => m.UserID == exrdt.UserID).FirstOrDefault();
                            origin.UserCode    = exrdt.UserCode;
                            origin.FullName    = exrdt.FullName;
                            origin.PhoneNumber = exrdt.PhoneNumber;
                            origin.Email       = exrdt.Email;
                            origin.IsActive    = true;
                            origin.ModifyUser  = exrdt.Importer;
                            origin.ModifyTime  = DateTime.Now;
                            origin.StopTime    = DateTime.Parse(exrdt.StopTime);
                            origin.master_DistributorInfo.Clear();
                            var pp = tcdmse.master_DistributorInfo.Where(w => exrdt.DistributorNamelist.Contains(w.DistributorName));
                            pp.ToList().ForEach(g =>
                            {//经销商
                                origin.master_DistributorInfo.Add(g);
                            });
                            origin.master_RoleInfo.Clear();
                            var qq = tcdmse.master_RoleInfo.Where(w => exrdt.RoleNamelist.Contains(w.RoleName));
                            origin.UserType = qq.Select(s => s.RoleType).FirstOrDefault();
                            qq.ToList().ForEach(g =>//角色
                            {
                                origin.master_RoleInfo.Add(g);
                            });
                        }
                        else
                        {
                            master_UserInfo mprd = new master_UserInfo();
                            mprd.UserCode    = exrdt.UserCode;
                            mprd.FullName    = exrdt.FullName;
                            mprd.PhoneNumber = exrdt.PhoneNumber;
                            mprd.Email       = exrdt.Email;
                            mprd.IsActive    = true;
                            mprd.DepartID    = 1;
                            mprd.CreateUser  = exrdt.Importer;
                            mprd.CreateTime  = DateTime.Now;
                            if (!string.IsNullOrEmpty(exrdt.StopTime))//到期日
                            {
                                mprd.StopTime = DateTime.Parse(exrdt.StopTime);
                            }
                            var pp = tcdmse.master_DistributorInfo.Where(w => exrdt.DistributorNamelist.Contains(w.DistributorName));
                            pp.ToList().ForEach(g =>
                            {//经销商
                                mprd.master_DistributorInfo.Add(g);
                            });
                            var qq = tcdmse.master_RoleInfo.Where(w => exrdt.RoleNamelist.Contains(w.RoleName));
                            mprd.UserType = qq.Select(s => s.RoleType).FirstOrDefault();
                            qq.ToList().ForEach(g =>//角色
                            {
                                mprd.master_RoleInfo.Add(g);
                            });

                            tcdmse.master_UserInfo.Add(mprd);

                            // 记录日志
                            this.AddLog(tcdmse, new LogData
                            {
                                CurrentLogType = LogType.IMPORT,
                                LogDetails     = "导入用户" + exrdt.FullName,
                                OpratorName    = exrdt.Importer
                            });
                        }
                    }
                }

                blResult = tcdmse.SaveChanges() > 0;
            }

            return(blResult);
        }