示例#1
0
        public void should_get_products()
        {
            var posMachine    = new PosMachine();
            var groupProduct  = posMachine.groupProducts(new[] { new BarcodeStat("001", 2), new BarcodeStat("002", 3) });
            var firstProduct  = groupProduct.Single(item => item.Barcode == "001");
            var secondProduct = groupProduct.First(item => item.Barcode == "002");

            Assert.Equal(2, firstProduct.Count);
            Assert.Equal(3, secondProduct.Price);
        }
示例#2
0
        public void should_get_groupBarcode()
        {
            var posMachine   = new PosMachine();
            var groupBarcode = posMachine.GroupBarcode(new[] { "001", "002", "001" }).ToArray();
            var resultCount  = groupBarcode.Single(item => item.Barcode == "001");
            var result       = groupBarcode.Single(item => item.Count == 1);

            Assert.Equal(2, resultCount.Count);
            Assert.Equal("Coca Cola", result.Barcode);
        }
示例#3
0
        public void should_get_ConvertToReceipt()
        {
            var str = "*** Receipt ***\n" +
                      "Name: Coca Cola, Amount: 2, Price: 3, Total: 6\n" +
                      "Name: Sprite, Amount: 2, Price: 3, Total: 6\n" +
                      " ---------------\n" +
                      " Total: 12";
            var    posMachine = new PosMachine();
            string receipt    = posMachine.ConvertToReceipt(
                new[] { new ProductStat("001", 2, "Coca Cola", 3), new ProductStat("002", 2, "Sprite", 3) });

            Assert.Equal(str, receipt);
        }
        public CustomJsonResult Add(int operater, PosMachine posMachine)
        {
            CustomJsonResult result = new CustomJsonResult();

            var l_posMachine = CurrentDb.PosMachine.Where(m => m.DeviceId == posMachine.DeviceId).FirstOrDefault();

            if (l_posMachine != null)
            {
                return(new CustomJsonResult(ResultType.Failure, "该POS机设备ID已经登记"));
            }


            posMachine.CreateTime = this.DateTime;
            posMachine.Creator    = operater;
            posMachine.IsUse      = false;
            CurrentDb.PosMachine.Add(posMachine);
            CurrentDb.SaveChanges();

            return(new CustomJsonResult(ResultType.Success, "登记成功"));
        }
        private void InitializeControl()
        {
            LogicStatus.Instance.Logic.Init();//模块任务添加到线程池
            point = new Point();


            posmachine           = new PosMachine();
            ShowMessge.StartMsg += new ShowMessge.SendStartMsgEventHandler(ShowMessage);
            clean       = new Clean();
            model       = new model();
            data        = new parameter();
            userInfo    = new UserInfo();
            Frm_Machine = new Frm_MotorParam();
            frmLog      = new FormLog();
            frm_jog     = new XYZ_Jog();
            frm_Machine = new Frm_Machine();


            comboBox1.SelectedIndex   = 1;
            tabControl1.SelectedIndex = 0;
            tabControl1.ItemSize      = new Size(0, 1);
            tabControl1.Appearance    = TabAppearance.FlatButtons;
            tabControl1.SizeMode      = TabSizeMode.Fixed;

            data.TopLevel        = false;                //将子窗体设置成非最高层,非顶级控件
            data.FormBorderStyle = FormBorderStyle.None; //去掉窗体边框
            data.Size            = this.panel16.Size;
            data.Parent          = this.panel16;         //指定子窗体显示的容器
            data.Dock            = DockStyle.Fill;
            data.Show();
            data.Activate();

            model.TopLevel        = false;                //将子窗体设置成非最高层,非顶级控件
            model.FormBorderStyle = FormBorderStyle.None; //去掉窗体边框
            model.Size            = this.panel13.Size;
            model.Parent          = this.panel13;         //指定子窗体显示的容器
            model.Dock            = DockStyle.Fill;
            model.Show();
            model.Activate();
        }
示例#6
0
        public CustomJsonResult Edit(int operater, PosMachine posMachine)
        {
            CustomJsonResult result = new CustomJsonResult();

            var l_posMachine = CurrentDb.PosMachine.Where(m => m.Id == posMachine.Id).FirstOrDefault();

            if (l_posMachine == null)
            {
                return(new CustomJsonResult(ResultType.Failure, "不存在"));
            }

            l_posMachine.AgentId        = posMachine.AgentId;
            l_posMachine.AgentName      = posMachine.AgentName;
            l_posMachine.FuselageNumber = posMachine.FuselageNumber;
            l_posMachine.TerminalNumber = posMachine.TerminalNumber;
            l_posMachine.Version        = posMachine.Version;
            l_posMachine.LastUpdateTime = this.DateTime;
            l_posMachine.Mender         = operater;
            CurrentDb.SaveChanges();

            return(new CustomJsonResult(ResultType.Success, "保存成功"));
        }
示例#7
0
        public CustomJsonResult ExportAdd(EditViewModel model)
        {
            CustomJsonResult r = new CustomJsonResult();

            //r.ContentType = "text/html";

            try
            {
                HttpPostedFileBase file_upload = Request.Files[0];

                if (file_upload == null)
                {
                    return(Json("text/html", ResultType.Failure, "找不到上传的对象"));
                }

                if (file_upload.ContentLength == 0)
                {
                    return(Json("text/html", ResultType.Failure, "文件内容为空,请重新选择"));
                }

                System.IO.FileInfo file = new System.IO.FileInfo(file_upload.FileName);
                string             ext  = file.Extension.ToLower();

                if (ext != ".xls")
                {
                    return(Json("text/html", ResultType.Failure, "上传的文件不是excel格式(xls)"));
                }

                HSSFWorkbook workbook = new HSSFWorkbook(file_upload.InputStream);

                ISheet sheet = workbook.GetSheetAt(0);

                ExportCheckErrorPoint exportCheckErrorPoint = new ExportCheckErrorPoint();

                IRow rowTitle = sheet.GetRow(0);

                exportCheckErrorPoint.CheckCellTitle(rowTitle.GetCell(0), "设备ID");
                exportCheckErrorPoint.CheckCellTitle(rowTitle.GetCell(1), "机身号");
                exportCheckErrorPoint.CheckCellTitle(rowTitle.GetCell(2), "终端号");
                exportCheckErrorPoint.CheckCellTitle(rowTitle.GetCell(3), "版本号");
                exportCheckErrorPoint.CheckCellTitle(rowTitle.GetCell(4), "代理商");

                if (exportCheckErrorPoint.TitleHasError)
                {
                    return(Json("text/html", ResultType.Failure, "上传的文件模板错误,请点击下载的文件模板"));
                }


                int rowCount = sheet.LastRowNum + 1;

                if (rowCount == 1)
                {
                    return(Json("text/html", ResultType.Failure, "上传的文件数据为空,请检查后再次上传"));
                }


                List <PosMachine> posMachines = new List <PosMachine>();
                for (int i = 1; i < rowCount; i++)
                {
                    IRow row = sheet.GetRow(i);

                    string deviceId       = row.GetCell(0).ToString();
                    string fuselageNumber = row.GetCell(1) == null ? "" : row.GetCell(1).ToString();
                    string terminalNumber = row.GetCell(2) == null ? "" : row.GetCell(2).ToString();
                    string version        = row.GetCell(3) == null ? "" : row.GetCell(3).ToString();
                    string agent          = row.GetCell(4) == null ? "" : row.GetCell(4).ToString();


                    if (string.IsNullOrEmpty(deviceId))
                    {
                        return(Json("text/html", ResultType.Failure, "检查到有为空的设备ID,请完善后再次上传"));
                    }

                    if (string.IsNullOrEmpty(deviceId) || deviceId.Length > 100)
                    {
                        exportCheckErrorPoint.AddPoint(deviceId, "设备ID不能为空,且不能超过100个字符");
                    }

                    if (string.IsNullOrEmpty(fuselageNumber) || fuselageNumber.Length > 100)
                    {
                        exportCheckErrorPoint.AddPoint(deviceId, "机身号不能为空,且不能超过100个字符");
                    }

                    if (string.IsNullOrEmpty(terminalNumber) || terminalNumber.Length > 100)
                    {
                        exportCheckErrorPoint.AddPoint(deviceId, "终端号不能为空,且不能超过100个字符");
                    }

                    if (string.IsNullOrEmpty(version) || version.Length > 100)
                    {
                        exportCheckErrorPoint.AddPoint(deviceId, "版本号不能为空,且不能超过100个字符");
                    }


                    if (string.IsNullOrEmpty(agent) || agent.Length > 100)
                    {
                        exportCheckErrorPoint.AddPoint(agent, "代理商不能为空,且不能超过100个字符");
                    }

                    var agentUser = CurrentDb.SysAgentUser.Where(m => m.FullName == agent).FirstOrDefault();
                    if (agent == null)
                    {
                        exportCheckErrorPoint.AddPoint(agent, "代理商名称:" + agent + ",不存在");
                    }
                    else
                    {
                        PosMachine posMachine = new PosMachine();
                        posMachine.DeviceId       = deviceId;
                        posMachine.FuselageNumber = fuselageNumber;
                        posMachine.TerminalNumber = terminalNumber;
                        posMachine.Version        = version;
                        posMachine.AgentId        = agentUser.Id;
                        posMachine.AgentName      = agentUser.FullName;
                        posMachines.Add(posMachine);
                    }
                }


                if (exportCheckErrorPoint.ErrorPoint.Count > 0)
                {
                    return(Json("text/html", ResultType.Failure, exportCheckErrorPoint.ErrorPoint, "更新数据失败,检查到无效的数据"));
                }


                using (TransactionScope ts = new TransactionScope())
                {
                    foreach (var posMachine in posMachines)
                    {
                        var old = CurrentDb.PosMachine.Where(m => m.DeviceId == posMachine.DeviceId).FirstOrDefault();
                        if (old != null)
                        {
                            exportCheckErrorPoint.AddPoint(old.DeviceId, "设备ID号:" + posMachine.DeviceId + ",已经存在");
                        }
                    }


                    if (exportCheckErrorPoint.ErrorPoint.Count > 0)
                    {
                        return(Json("text/html", ResultType.Failure, exportCheckErrorPoint.ErrorPoint, "更新数据失败,检查到无效的数据"));
                    }

                    DateTime dateNow = DateTime.Now;
                    foreach (var posMachine in posMachines)
                    {
                        posMachine.CreateTime = dateNow;
                        posMachine.Creator    = this.CurrentUserId;
                        CurrentDb.PosMachine.Add(posMachine);
                    }

                    CurrentDb.SaveChanges();
                    ts.Complete();
                }


                return(Json("text/html", ResultType.Success, "上传成功"));
            }
            catch (Exception ex)
            {
                Log.Error("导入POS机信息", ex);
                return(Json("text/html", ResultType.Exception, "上传失败,系统出现异常"));
            }
        }