Ejemplo n.º 1
0
 private void OnTerminalstatusChanged(TerminalStatus status)
 {
     if (StatusChanged != null)
     {
         StatusChanged(this, status);
     }
 }
Ejemplo n.º 2
0
        public override void ParseResponse(byte[] response)
        {
            if (response == null)
            {
                throw new ApiException("Response data is null");
            }

            if (response.Length < INGENICO_GLOBALS.RAW_RESPONSE_LENGTH)
            {
                byte[] newResponse = new byte[INGENICO_GLOBALS.RAW_RESPONSE_LENGTH];
                response.CopyTo(newResponse, 0);

                response = newResponse;
            }

            base.ParseResponse(response);

            var tlv = new TypeLengthValue(response.SubArray(12, 55));

            string terminalStatusData = (string)tlv.GetValue((byte)StateResponseCode.Status, typeof(string), TLVFormat.State);

            _terminalStatus                 = (TerminalStatus)Convert.ToByte(terminalStatusData.Substring(0, 1));
            _salesMode                      = (SalesMode)Convert.ToByte(terminalStatusData.Substring(1, 1));
            _terminalCapabilities           = terminalStatusData.Substring(2, 6);
            _additionalTerminalCapabilities = terminalStatusData.Substring(8, 10);
            _appVersionNumber               = (string)tlv.GetValue((byte)StateResponseCode.AppVersionNumber, typeof(string), TLVFormat.State);
            _handsetNumber                  = (string)tlv.GetValue((byte)StateResponseCode.HandsetNumber, typeof(string), TLVFormat.State);
            _terminalId                     = (string)tlv.GetValue((byte)StateResponseCode.TerminalId, typeof(string), TLVFormat.State);
        }
Ejemplo n.º 3
0
 private void terminal_statusChanged(object sender, TerminalStatus e)
 {
     _transactionStatus = e.TransactionStatus;
     _cardReaderStatus  = e.CardReaderStatus;
     _connectionStatus  = e.ConnectionStatus;
     if (!_isTransactionError)
     {
         if (!_isTransactionComplete)
         {
             if (e.TransactionStatus == SIX.TimApi.Constants.TransactionStatus.Processing ||
                 e.TransactionStatus == SIX.TimApi.Constants.TransactionStatus.ReadingCard ||
                 e.TransactionStatus == SIX.TimApi.Constants.TransactionStatus.PinEntry)
             {
                 System.Windows.Application.Current.MainWindow.Content = new TransactionWait(_ob);
             }
         }
         else
         {
             if (_cardReaderStatus == SIX.TimApi.Constants.CardReaderStatus.CardReaderEmpty &&
                 _transactionStatus == SIX.TimApi.Constants.TransactionStatus.Idle)
             {
                 TerminalListenersClear();
                 System.Windows.Application.Current.MainWindow.Content = new TicketScanPage();
             }
         }
     }
 }
Ejemplo n.º 4
0
        public ActionResult DeleteConfirmed(int id)
        {
            TerminalStatus terminalStatus = db.TerminalStatus.Find(id);

            db.TerminalStatus.Remove(terminalStatus);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 5
0
    public string GetPrintHeaders()
    {
        TerminalStatus terminal = GobalTools.GetTerminal();
        string         result   = string.Empty;

        result += GobalTools.GetTerminalOrderId(terminal.StorePrefix);
        result += ";" + terminal.StoreNo + ";" + terminal.StoreName + ";" + terminal.StorePhone;
        return(result);
    }
Ejemplo n.º 6
0
        public async Task <ServiceResponse <Terminal> > DeleteFullTerminalSystem(string terminal_id)
        {
            ServiceResponse <Terminal> serviceResponse = new ServiceResponse <Terminal>();

            try
            {
                SystemPOS systemPOS = await _context.SystemPOSs.FirstAsync(c => c.TerminalID.Equals(terminal_id));

                if (systemPOS != null)
                {
                    _context.SystemPOSs.Remove(systemPOS);
                    _csvfile.DeleteSystemLine(terminal_id);
                }

                TerminalStatus status = await _context.TerminalsStatus.FirstOrDefaultAsync(s => s.TerminalID.Equals(terminal_id));

                if (status != null)
                {
                    _context.TerminalsStatus.Remove(status);
                }


                Terminal terminal = await _context.Terminals.FirstOrDefaultAsync(t => t.TerminalID.Equals(terminal_id));

                if (terminal != null)
                {
                    _context.Terminals.Remove(terminal);
                    _csvfile.DeleteTerminalsLine(terminal_id);
                }

                Sysconfig sys_ca = await _MySqlcontext.sysconfig.FirstOrDefaultAsync(j => j.id.Equals(addca + terminal_id));

                if (sys_ca != null)
                {
                    _MySqlcontext.sysconfig.Remove(sys_ca);
                }
                Sysconfig sys_pft = await _MySqlcontext.sysconfig.FirstOrDefaultAsync(j => j.id.Equals(addpft + terminal_id));

                if (sys_pft != null)
                {
                    _MySqlcontext.sysconfig.Remove(sys_pft);
                }

                await _MySqlcontext.SaveChangesAsync();

                await _context.SaveChangesAsync();

                serviceResponse.Data = terminal;
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }
            return(serviceResponse);
        }
Ejemplo n.º 7
0
        private static TerminalStatus GetTerminalStatusResult(Response response)
        {
            if (response.Command != PrimaryResponseCommand.TerminalStatus)
            {
                throw new InvalidDataException(string.Format("Expected response of {0} but received {1}.",
                                                             PrimaryResponseCommand.TerminalStatus, response.Command));
            }

            return(TerminalStatus.Parse(response.Data));
        }
Ejemplo n.º 8
0
 public ActionResult Edit([Bind(Include = "Id,NmTerStatus")] TerminalStatus terminalStatus)
 {
     if (ModelState.IsValid)
     {
         db.Entry(terminalStatus).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(terminalStatus));
 }
Ejemplo n.º 9
0
        public void IsOpen(TerminalStatus initial, bool expected)
        {
            // arrange
            var terminal = CreateTestTerminal(initial);
            // act
            var actual = terminal.IsOpen();

            // assert
            Assert.Equal(actual, expected);
        }
Ejemplo n.º 10
0
        public ActionResult Create([Bind(Include = "Id,NmTerStatus")] TerminalStatus terminalStatus)
        {
            if (ModelState.IsValid)
            {
                db.TerminalStatus.Add(terminalStatus);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(terminalStatus));
        }
Ejemplo n.º 11
0
        public async Task <bool> existeTerminalsStatus(string terminalid)
        {
            bool           existe = false;
            TerminalStatus ter    = await _context.TerminalsStatus.FirstOrDefaultAsync(t => t.TerminalID.Equals(terminalid));

            if (ter != null)
            {
                existe = true;
            }
            return(existe);
        }
Ejemplo n.º 12
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         string         cityIp   = WebToolsHelper.GetIp();
         TerminalStatus terminal = TerminalOnlineMonitorThread.GetTerminal(cityIp);
         string         cityCode = string.Empty;
         if (terminal != null)
         {
             cityCode = terminal.CityCode;
         }
         else
         {
             cityCode = "101010100";
         }
         if (cityCode != null && cityCode.Length > 0)
         {
             WeatherObject weather = null;
             try
             {
                 weather = WeatherHelper.GetCityWeather(cityCode);
             }
             catch
             {
             }
             if (weather != null)
             {
                 this.lbCity.Text         = weather.weatherinfo.city;
                 this.lbDate.Text         = System.DateTime.Now.ToString("M月d日");
                 this.lbTemp.Text         = weather.weatherinfo.temp1;
                 this.lbTrafficLimit.Text = this.GetTrafficLimitInfo(cityCode);
                 this.lbWeek.Text         = weather.weatherinfo.week;
                 this.lbWind.Text         = weather.weatherinfo.wind1;
                 this.img1.Visible        = true;
                 this.img1.ImageUrl       = weather.weatherinfo.img1;
             }
             else
             {
                 this.lbCity.Text         = "预报出错";
                 this.lbDate.Text         = System.DateTime.Now.ToString("M月d日");
                 this.lbTemp.Text         = string.Empty;
                 this.lbTrafficLimit.Text = this.GetTrafficLimitInfo(cityCode);
                 this.lbWeek.Text         = DateTimeHelper.GetChineseXq(System.DateTime.Now);
                 this.lbWind.Text         = string.Empty;
                 this.img1.Visible        = false;
                 // this.img1.ImageUrl = weather.weatherinfo.img1;
             }
         }
     }
 }
Ejemplo n.º 13
0
        public void Close_Closes_Only_OpenTerminal(TerminalStatus initial, TerminalStatus expected)
        {
            // arrange
            var terminal = CreateTestTerminal(initial);
            // act
            var current = terminal.Status;

            terminal.Close();
            var actualStatus = terminal.Status;

            // assert
            Assert.True(current == initial);
            Assert.True(actualStatus == expected);
        }
Ejemplo n.º 14
0
        // GET: TerminalStatus/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TerminalStatus terminalStatus = db.TerminalStatus.Find(id);

            if (terminalStatus == null)
            {
                return(HttpNotFound());
            }
            return(View(terminalStatus));
        }
 string GetStatusValue(TerminalStatus status)
 {
     switch (status)
     {
         case TerminalStatus.Active:
             return "A";
         case TerminalStatus.Inactive:
             return "P";
         case TerminalStatus.Suspend:
             return "S";
         case TerminalStatus.All:
             return null;
     }
     return null;
 }
Ejemplo n.º 16
0
        string GetStatusValue(TerminalStatus status)
        {
            switch (status)
            {
            case TerminalStatus.Active:
                return("A");

            case TerminalStatus.Inactive:
                return("P");

            case TerminalStatus.Suspend:
                return("S");

            case TerminalStatus.All:
                return(null);
            }
            return(null);
        }
Ejemplo n.º 17
0
 private static void DisplayTerminalStatus(TerminalStatus status)
 {
     Debug.WriteLine("");
     Debug.WriteLine("Hardware Model:      {0}", status.HardwareModel);
     Debug.WriteLine("Hardware Revision:   {0}", status.HardwareRevision);
     Debug.WriteLine("Firmware Version:    {0}", status.FirmwareVersion);
     Debug.WriteLine("Terminal Type:       {0}", status.TerminalType);
     Debug.WriteLine("Current Time:        {0:g}", status.Timestamp);
     Debug.WriteLine("Active Function:     {0}", status.ActiveFunction);
     Debug.WriteLine("Powered On:          {0}", status.PoweredOn);
     Debug.WriteLine("Buffers Full:        {0}", status.BuffersFull);
     Debug.WriteLine("Buffers Faulty:      {0}", status.BuffersFaulty);
     Debug.WriteLine("Buffers Transmitted: {0}", status.BuffersTransmitted);
     Debug.WriteLine("Buffers Empty:       {0}", status.BuffersEmpty);
     Debug.WriteLine("Memory Used:         {0} bytes", status.MemoryUsed);
     Debug.WriteLine("Polling Interval:    {0} seconds", status.PollingInterval.TotalSeconds);
     Debug.WriteLine("Transport Type:      {0}", new object[] { status.TransportType.ToString().ToUpperInvariant() });
     Debug.WriteLine("FPU Mode:            {0}", status.FingerprintUnitMode);
     Debug.WriteLine("User Defined Field:  {0}", new object[] { status.UserDefinedField });
     Debug.WriteLine("");
 }
Ejemplo n.º 18
0
 protected void dgLists_ItemDataBound(object sender, DataGridItemEventArgs e)
 {
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
     {
         string         ip       = e.Item.Cells[1].Text;
         TerminalStatus terminal = TerminalOnlineMonitorThread.GetTerminal(ip);
         if (terminal != null)
         {
             e.Item.Cells[5].Text = terminal.OnlineSeconds.ToString();
             e.Item.Cells[6].Text = terminal.OnlineStatus;
             if (terminal.OnlineStatus == "不在线")
             {
                 e.Item.Cells[6].ForeColor = Color.Red;
             }
             else
             {
                 e.Item.Cells[6].ForeColor = Color.Black;
             }
         }
     }
 }
        public void Create_Fills_All_Fields()
        {
            var            _terminalUri = _uri;
            var            _name        = "Basic Terminal";
            var            _description = "Basic Terminal with no capabilities";
            Guid           _Id          = _ID;
            TerminalStatus _status      = TerminalStatus.Closed;

            // arrange

            // act, Assert
            var ci     = TerminalInformation.Create(_terminalUri, _ID, _name, _description, _status);
            var now    = DateTime.UtcNow;
            var status = Enum.GetName(_status);

            // assert
            Assert.Equal(_terminalUri, ci.Address);
            Assert.Equal(_name, ci.Name);
            Assert.Equal(_description, ci.Description);
            Assert.Equal(_Id, ci.ID);
            Assert.Equal(status, ci.Status);
            Assert.True(ci.InformationTimeStamp <= now);
        }
Ejemplo n.º 20
0
        protected void lstItem_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Header)
            {
                LoadSortFieldOptions(e);
            }
            else if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataRowView dr = (DataRowView)e.Item.DataItem;

                HtmlInputCheckBox chkList = (HtmlInputCheckBox)e.Item.FindControl("chkList");
                chkList.Value = dr["TerminalID"].ToString();

                HyperLink lnkTerminalNo = (HyperLink)e.Item.FindControl("lnkTerminalNo");
                lnkTerminalNo.Text = dr["TerminalNo"].ToString();

                Label lblBranchID = (Label)e.Item.FindControl("lblBranchID");
                lblBranchID.Text = dr["BranchID"].ToString();

                Data.Branch        clsBranch        = new Branch();
                Data.BranchDetails clsBranchDetails = clsBranch.Details(Int32.Parse(lblBranchID.Text));
                clsBranch.CommitAndDispose();
                lblBranchID.Text = clsBranchDetails.BranchCode;

                HyperLink lnkTerminalCode = (HyperLink)e.Item.FindControl("lnkTerminalCode");
                lnkTerminalCode.Text = dr["TerminalCode"].ToString();

                HyperLink lnkTerminalName = (HyperLink)e.Item.FindControl("lnkTerminalName");
                lnkTerminalName.Text = dr["TerminalName"].ToString();

                HyperLink lnkMachineSerialNo = (HyperLink)e.Item.FindControl("lnkMachineSerialNo");
                lnkMachineSerialNo.Text = dr["MachineSerialNo"].ToString();

                HyperLink lnkAccreditationNo = (HyperLink)e.Item.FindControl("lnkAccreditationNo");
                lnkAccreditationNo.Text = dr["AccreditationNo"].ToString();

                HyperLink      lnkStatus = (HyperLink)e.Item.FindControl("lnkStatus");
                TerminalStatus status    = (TerminalStatus)Enum.Parse(typeof(TerminalStatus), dr["Status"].ToString());
                lnkStatus.Text = status.ToString("G");

                Label lblDateCreated = (Label)e.Item.FindControl("lblDateCreated");
                lblDateCreated.Text = dr["DateCreated"].ToString();

                Label lblMaxReceiptWidth = (Label)e.Item.FindControl("lblMaxReceiptWidth");
                lblMaxReceiptWidth.Text = dr["MaxReceiptWidth"].ToString();

                CheckBox chkIsPrinterAutoCutter = (CheckBox)e.Item.FindControl("chkIsPrinterAutoCutter");
                chkIsPrinterAutoCutter.Checked = Convert.ToBoolean(dr["IsPrinterAutoCutter"]);

                CheckBox chkAutoPrint = (CheckBox)e.Item.FindControl("chkAutoPrint");
                chkAutoPrint.Checked = Convert.ToBoolean(Convert.ToInt16(dr["AutoPrint"].ToString()));

                Label lblPrinterName = (Label)e.Item.FindControl("lblPrinterName");
                lblPrinterName.Text = dr["PrinterName"].ToString();

                Label lblCashDrawerName = (Label)e.Item.FindControl("lblCashDrawerName");
                lblCashDrawerName.Text = dr["CashDrawerName"].ToString();

                CheckBox chkItemVoidConfirmation = (CheckBox)e.Item.FindControl("chkItemVoidConfirmation");
                chkItemVoidConfirmation.Checked = Convert.ToBoolean(dr["ItemVoidConfirmation"]);

                CheckBox chkEnableEVAT = (CheckBox)e.Item.FindControl("chkEnableEVAT");
                chkEnableEVAT.Checked = Convert.ToBoolean(dr["EnableEVAT"]);

                Label lblFormBehavior = (Label)e.Item.FindControl("lblFormBehavior");
                lblFormBehavior.Text = dr["Form_Behavior"].ToString();

                Label lblMarqueeMessage = (Label)e.Item.FindControl("lblMarqueeMessage");
                lblMarqueeMessage.Text = dr["MarqueeMessage"].ToString();

                //For anchor
                HtmlGenericControl divExpCollAsst = (HtmlGenericControl)e.Item.FindControl("divExpCollAsst");

                HtmlAnchor anchorDown = (HtmlAnchor)e.Item.FindControl("anchorDown");
                anchorDown.HRef = "javascript:ToggleDiv('" + divExpCollAsst.ClientID + "')";
            }
        }
Ejemplo n.º 21
0
 public TerminalStatusTest()
 {
     st = new TerminalStatus();
     st.updateStatus("U F U C(10.118.164.25) I 2 24 80 16 37 0x0 0.018");
 }
Ejemplo n.º 22
0
 public TestTerminal(Uri address, string name, string description, Guid Identifier, TerminalStatus status)
     : base(address, name, description, Identifier)
 {
     Status = status;
 }
Ejemplo n.º 23
0
 public Result <Terminal> SearchTerminal(int pageNo, int pageSize, TerminalSearchOrderBy orderBy, TerminalStatus status, string snNameTID)
 {
     return(this.SearchTerminal(pageNo, pageSize, orderBy, status, snNameTID, false, false, false));
 }
Ejemplo n.º 24
0
 private TestTerminal CreateTestTerminal(TerminalStatus status)
 {
     return(new TestTerminal(_terminalUri, _terminalName, _terminalDescription, _terminalId, status));
 }
 public Result<Terminal> SearchTerminal(int pageNo, int pageSize, TerminalSearchOrderBy orderBy, TerminalStatus status, string snNameTID) {
     IList<string> validationErrs = ValidatePageSizeAndPageNo(pageSize, pageNo);
     if (validationErrs.Count > 0)
     {
         return new Result<Terminal>(validationErrs);
     }
     RestRequest request = new RestRequest(SEARCH_TERMINAL_URL, Method.GET);
     request.AddParameter(Constants.PAGINATION_PAGE_NO, pageNo);
     request.AddParameter(Constants.PAGINATION_PAGE_LIMIT, pageSize.ToString());
     request.AddParameter("orderBy", GetOrderValue(orderBy));
     request.AddParameter("snNameTID", snNameTID);
     request.AddParameter("serialNo", snNameTID);
     request.AddParameter("status", GetStatusValue(status));
     var responseContent = Execute(request);
     TerminalPageResponse resellerPage = JsonConvert.DeserializeObject<TerminalPageResponse>(responseContent);
     Result<Terminal> result = new Result<Terminal>(resellerPage);
     return result;
 }
Ejemplo n.º 26
0
 private void LogOrderRecord(TerminalStatus terminal, ProductInfo product, string orderid, double orderPrice, int orderNum, string mobile)
 {
 }
Ejemplo n.º 27
0
 /// <summary>
 /// Set terminal status
 /// </summary>
 /// <returns></returns>
 public ITerminal SetStatus(TerminalStatus status)
 {
     Status = status;
     return(this);
 }
Ejemplo n.º 28
0
        public async Task <ServiceResponse <GetTerminalExternalClientDto> > UpdateTerminalExternalClient(UpdateTerminalExternalClientDto updateTerminalExternal)
        {
            ServiceResponse <GetTerminalExternalClientDto> serviceResponse = new ServiceResponse <GetTerminalExternalClientDto>();

            try
            {
                Terminal terminal = await _context.Terminals.FirstOrDefaultAsync(ct => ct.TerminalID.Equals(updateTerminalExternal.TerminalID));

                //SI ES NULL MANTIENE EL VALOR ACTUAL ?.
                terminal.Custom1 = updateTerminalExternal.nombreComercial?.ToUpper() ?? terminal.Custom1;
                terminal.Custom2 = updateTerminalExternal.direccionFiscal?.ToUpper() ?? terminal.Custom2;
                if (updateTerminalExternal.rut != null)
                {
                    terminal.Custom3 = addRUT + updateTerminalExternal.rut;
                }

                //AcquirerDto acq = new AcquirerDto();

                if (updateTerminalExternal.acquirer != null)
                {
                    terminal.Custom4 = updateTerminalExternal.acquirer.acqVisanet ?? terminal.Custom4;

                    terminal.Custom6 = updateTerminalExternal.acquirer.acqOca ?? terminal.Custom6;

                    terminal.Custom8 = updateTerminalExternal.acquirer.acqCabal ?? terminal.Custom8;

                    terminal.Custom12 = updateTerminalExternal.acquirer.acqAnda ?? terminal.Custom12;

                    terminal.Custom13 = updateTerminalExternal.acquirer.acqAMEX ?? terminal.Custom13;

                    terminal.Custom19 = updateTerminalExternal.acquirer.acqCabal_usd ?? terminal.Custom19;

                    //rst-64
                    //acqFirstdata, acqCreditel, acqPasscard, acqEdenred, acqClubDelEste
                    //CAMBIOS GONZALO
                    ////terminal.Custom5 = updateTerminalExternal.acquirer.acqFirstdata ?? terminal.Custom5;
                    ////terminal.Custom7 = updateTerminalExternal.acquirer.acqCreditosDirectos ?? terminal.Custom7;
                    ////terminal.Custom9 = updateTerminalExternal.acquirer.acqCreditel ?? terminal.Custom9;
                    ////terminal.Custom10 = updateTerminalExternal.acquirer.acqPasscard ?? terminal.Custom10;
                    terminal.Custom11 = updateTerminalExternal.acquirer.acqEdenred ?? terminal.Custom11;
                    terminal.Custom14 = updateTerminalExternal.acquirer.acqClubDelEste ?? terminal.Custom14;
                    //rst-64
                }

                SystemPOS systempos = await _context.SystemPOSs.FirstOrDefaultAsync(ct => ct.TerminalID.Equals(updateTerminalExternal.TerminalID));

                bool rstTerminalChecksum = false;
                bool rstTranConnChecksum = false;
                bool rstControlChecksum  = false;
                bool newPackage          = false;
                if (updateTerminalExternal.nombreComercial != null ||
                    updateTerminalExternal.direccionFiscal != null ||
                    updateTerminalExternal.rut != null ||
                    updateTerminalExternal.acquirer != null
                    )
                {
                    if (systempos != null)
                    {
                        systempos.TerminalChecksum = 0;
                        rstTerminalChecksum        = true;
                    }
                }

                if (updateTerminalExternal.merchantType != null)
                {
                    if (systempos != null)
                    {
                        systempos.ControlGroup = (int)updateTerminalExternal.merchantType;
                        rstControlChecksum     = true;
                    }
                }

                //terminalEnabled -> Activar o desactivar Terminal en el Switch JPOS. 1:Activo 0:Inactivo
                TerminalStatus term = await _context.TerminalsStatus.FirstOrDefaultAsync(t => t.TerminalID.Equals(updateTerminalExternal.TerminalID));

                bool termStatus = term?.status != null && term.status == 1;
                if (updateTerminalExternal.terminalEnabled == 1 || updateTerminalExternal.terminalEnabled == 0)
                {
                    if (term != null)
                    {
                        term.status = (int)updateTerminalExternal.terminalEnabled;
                    }
                    else
                    {
                        term            = new TerminalStatus();
                        term.TerminalID = updateTerminalExternal.TerminalID;
                        term.status     = (int)updateTerminalExternal.terminalEnabled;
                        await _context.AddAsync(term);
                    }
                }

                // SI ALGUN PARAMETRO NO ES NULO
                if (updateTerminalExternal.ca_name != null ||
                    updateTerminalExternal.mcc != null ||
                    updateTerminalExternal.pf_id != null ||
                    updateTerminalExternal.visa_spnsrd_mercht != null ||
                    updateTerminalExternal.amex_id_comercio != null
                    )
                {
                    // SI LA TERMINAL ESTA HABILITADA
                    if (termStatus || updateTerminalExternal.terminalEnabled == 1)
                    {
                        jpos jpos_value = new jpos();

                        string[] parameters = new string[] {
                            updateTerminalExternal.ca_name,
                            updateTerminalExternal.mcc,
                            updateTerminalExternal.pf_id,
                            updateTerminalExternal.visa_spnsrd_mercht,
                            updateTerminalExternal.amex_id_comercio,
                        };

                        Sysconfig sys = await _MySqlcontext.sysconfig.FirstOrDefaultAsync(s => s.id.Equals(addca + updateTerminalExternal.TerminalID));

                        if (sys != null)
                        {
                            if (sys.value != null)
                            {
                                jpos_value.setSysconfigValue_CA(sys.value);
                            }
                        }
                        else
                        {
                            sys    = new Sysconfig();
                            sys.id = addca + updateTerminalExternal.TerminalID;
                            await _MySqlcontext.sysconfig.AddAsync(sys);
                        }

                        jpos_value.updateSysconfigValue_CA(parameters);
                        sys.value = jpos_value.genSysconfigValue_CA();
                    }
                }


                await _context.SaveChangesAsync();

                await _MySqlcontext.SaveChangesAsync();

                serviceResponse = await GetTerminalExternalClientById(updateTerminalExternal.TerminalID);

                serviceResponse.Success = true;


                //ACTUALIZA LINEA AL ARCHIVO TERMINALS
                _csvfile.UpdateTerminalsLine(updateTerminalExternal.TerminalID, updateTerminalExternal);

                //ACTUALIZA LINEA AL ARCHIVO SYSTEM
                _csvfile.UpdateSystemLine(updateTerminalExternal.TerminalID, updateTerminalExternal, rstTerminalChecksum, rstTranConnChecksum, rstControlChecksum, newPackage);
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }

            return(serviceResponse);
        }
Ejemplo n.º 29
0
    protected void btnSure_Click(object sender, EventArgs e)
    {
        if (this.txtValidCode.Text.Trim().Length == 4)
        {
            bool result = GobalTools.IsRight(this.txtValidCode.Text.Trim());
            if (result)
            {
                string             ordersqlFormat = @"
INSERT INTO yuantuo_terminal_orders
           (orderid
           ,productid
           ,product
           ,num
           ,singleprice
           ,terminalid
           ,totalprice
           ,isadd
           ,mobile,orderdate)
     VALUES ('{0}',{1},'{2}',{3},{4},{5},{6},{7},'{8}','{9}')
";
                FT.DAL.IDataAccess access         = FT.DAL.DataAccessFactory.GetDataAccess();

                int fontsize   = 9;
                int lineheight = 15;
                // int left = 15;
                int    left   = 1;
                string script = string.Empty;
                string domain = Request.Url.ToString();
                // nowUrl.in
                // domain = domain.Substring(domain.IndexOf(":") + 3);//http://之后的
                domain = domain.Substring(0, domain.IndexOf("/YuanTuo"));
                //string urlPrefix = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf('/', 0, 3));
                // string logo = Page.ResolveUrl("~/YuanTuo/images/yijielogo.bmp");
                string logo = domain + "/YuanTuo/images/yijielogo.bmp";
                // string logo="http://127.0.0.1:12345/BuyWebSiteDemo/YuanTuo/images/yijielogo.bmp";
                string         orderid  = Session["orderid"].ToString();
                TerminalStatus terminal = GobalTools.GetTerminal();

                string        mobile         = this.txtMobile.Value;
                StringBuilder productcontent = new StringBuilder();
                string        productid      = Session["seeproductid"].ToString();
                ProductInfo   entity         = SimpleOrmOperator.Query <ProductInfo>(Convert.ToInt32(productid));
                int           num            = Convert.ToInt32(Request.Params["ordernum"].ToString());



                double price = Convert.ToDouble(Request.Params["price"].ToString());

                string    sendSql          = "select top 1 productid,b.name as productname,b.no,sendproductid,num from yuantuo_product_send  a left join yuantuo_product_info b on b.id=a.sendproductid where getdate() between startdate and enddate and productid=" + entity.Id.ToString() + " order by enddate desc";
                DataTable dt               = access.SelectDataTable(sendSql, "tmp");
                string    sendPrintContent = string.Empty;
                string    orderdate        = DateTimeHelper.DtToLongString(System.DateTime.Now);
                if (dt != null && dt.Rows.Count == 1)
                {
                    int    sendproductid = Convert.ToInt32(dt.Rows[0]["sendproductid"].ToString());
                    int    sendnumpre    = Convert.ToInt32(dt.Rows[0]["num"].ToString());
                    string sendno        = dt.Rows[0]["no"].ToString();
                    string sendname      = dt.Rows[0]["productname"].ToString();
                    if (num > sendnumpre)
                    {
                        int sendnum = num / sendnumpre;
                        access.ExecuteSql(string.Format(ordersqlFormat
                                                        , orderid, sendproductid, sendname, sendnum, 0, terminal.Id, 0, 1, mobile, orderdate
                                                        ).Replace("\r\n", ""));
                        // " obj.AddContent('04012          78        77','宋体',font,left,height);";
                        sendPrintContent = "height+=lineHeight;obj.AddContent('" + sendname + "(赠品)','宋体'," + fontsize.ToString() + ",left,height);height+=lineHeight;obj.AddContent('" + sendno + "          " + sendnum + "        " + "0" + "','宋体'," + fontsize.ToString() + ",left,height);";
                    }
                }
                access.ExecuteSql(string.Format(ordersqlFormat
                                                , orderid, entity.Id, entity.Name, num, price, terminal.Id, price * num, 0, mobile, orderdate
                                                ).Replace("\r\n", ""));


                /*
                 *    height+=lineHeight;
                 *  obj.AddContent('汽车台座专用香氛50(ml)','宋体',10,left,height);
                 *   height+=lineHeight;
                 *  obj.AddContent('04011              856          78','宋体',10,left,height);
                 *   height+=lineHeight;
                 *  obj.AddContent('金额合计:66,768.00','宋体',10,left,height);
                 */

                productcontent.Append("height+=lineHeight;");
                productcontent.Append("obj.AddContent('" + entity.Name + "','宋体'," + fontsize.ToString() + ",left,height);");
                productcontent.Append("height+=lineHeight;");
                productcontent.Append("obj.AddContent('" + entity.No + "          " + num + "        " + price + "','宋体'," + fontsize.ToString() + ",left,height);");
                productcontent.Append(sendPrintContent);
                productcontent.Append("height+=lineHeight;");
                productcontent.Append("obj.AddContent('金额合计:" + string.Format("{0:N2}", price * num) + "','黑体'," + 10.ToString() + ",left,height);");
                //80mm

                /* script = string.Format(printScriptFormatter
                 *   ,logo,orderid,terminal.StoreNo,terminal.StoreName,terminal.StorePhone
                 *   , mobile, productcontent.ToString(), System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                 *  ,Page.ResolveUrl("~/YuanTuo/Index.aspx")
                 *  ,entity.GetProductDays.ToString()
                 *  , fontsize, left,lineheight,fontsize+2,entity.GetProductDays+4
                 *   );
                 * */
                script = string.Format(printScriptFormatter58
                                       , logo, orderid, terminal.StoreNo, terminal.StoreName, terminal.StorePhone
                                       , mobile, productcontent.ToString(), System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                                       , Page.ResolveUrl("~/YuanTuo/Index.aspx")
                                       , entity.GetProductDays.ToString()
                                       , fontsize, left, lineheight, fontsize + 2, entity.GetProductDays + 4
                                       );
                ClientScript.RegisterStartupScript(this.GetType(), "tmp", script);
            }
            else
            {
                ClientScript.RegisterStartupScript(this.GetType(), "tmp", "<script type='text/javascript'>setValidError();</script>");
            }
        }
    }
Ejemplo n.º 30
0
        public async Task <ServiceResponse <GetTerminalExternalClientDto> > GetTerminalExternalClientById(string terminalID)
        {
            ServiceResponse <GetTerminalExternalClientDto> serviceResponse = new ServiceResponse <GetTerminalExternalClientDto>();

            try{
                Terminal terminalExternal = await _context.Terminals
                                            .Include(s => s.SystemPOS)
                                            .Where(t => t.TerminalID.Equals(terminalID))
                                            .FirstAsync();

                //var terminalExternalDto = _mapper.Map<List<TerminalsExternalDto>>(terminalsExternal);

                GetTerminalExternalClientDto terextDto = new GetTerminalExternalClientDto();


                AcquirerDto acq = new AcquirerDto();
                terextDto.TerminalID      = terminalExternal.TerminalID;
                terextDto.SerialNumber    = terminalExternal.SerialNumber;
                terextDto.nombreComercial = terminalExternal.Custom1;
                terextDto.direccionFiscal = terminalExternal.Custom2;
                terextDto.rut             = terminalExternal.Custom3;



                acq.acqVisanet          = terminalExternal.Custom4;
                acq.acqFirstdata        = terminalExternal.Custom5;
                acq.acqOca              = terminalExternal.Custom6;
                acq.acqCreditosDirectos = terminalExternal.Custom7;
                acq.acqCabal            = terminalExternal.Custom8;
                acq.acqCreditel         = terminalExternal.Custom9;
                acq.acqPasscard         = terminalExternal.Custom10;
                acq.acqEdenred          = terminalExternal.Custom11;
                acq.acqAnda             = terminalExternal.Custom12;
                acq.acqAMEX             = terminalExternal.Custom13;
                acq.acqClubDelEste      = terminalExternal.Custom14;
                acq.acqMides            = terminalExternal.Custom15;
                acq.acqCabal_usd        = terminalExternal.Custom19;

                terextDto.acquirer     = acq;
                terextDto.ConnectGroup = terminalExternal.SystemPOS.ConnectGroup;
                terextDto.terminalInit = terminalExternal.SystemPOS.TerminalChecksum;
                terextDto.merchantType = terminalExternal.SystemPOS.ControlGroup;


                TerminalStatus ter = await _context.TerminalsStatus.FirstOrDefaultAsync(t => t.TerminalID.Equals(terminalID));

                if (ter != null)
                {
                    terextDto.terminalEnabled = ter.status;
                }
                else
                {
                    terextDto.terminalEnabled = TerminalStatusDisabled;
                }


                if (existTerminalJPOS(terminalID).Result)
                {
                    //ver cual tomamos del value si el campo que está en ptf o ca
                    //string term = addca+terminalID;
                    //Sysconfig sysconfig = await _MySqlcontext.sysconfig.FirstOrDefaultAsync(t => t.id.Equals(term));
                    //parametros de JPOS falta definir cuales son
                    var jpos = await _MySqlcontext.sysconfig.FirstOrDefaultAsync(j => j.id.Equals(addca + terminalID));

                    if (jpos != null)
                    {
                        if (jpos.value != null)
                        {
                            jpos jp = new jpos();
                            jp.setSysconfigValue_CA(jpos.value);

                            string ca    = jp.getCA();
                            string mcc   = jp.getMcc();
                            string pf_id = jp.getPf_id();
                            string visa_spnsrd_mercht = jp.getVisa_spnsrd_mercht();
                            string amex_id_comercio   = jp.getAmex_id_comercio();

                            terextDto.ca_name            = ca.Length == 0 ? null : ca;
                            terextDto.mcc                = mcc.Length == 0 ? null : mcc;
                            terextDto.pf_id              = pf_id.Length == 0 ? null : pf_id;
                            terextDto.visa_spnsrd_mercht = visa_spnsrd_mercht.Length == 0 ? null : visa_spnsrd_mercht;
                            terextDto.amex_id_comercio   = amex_id_comercio.Length == 0 ? null : amex_id_comercio;
                        }
                    }


                    ///terextDto.id = sysconfig.id;
                    ///terextDto.value = sysconfig.value;

                    //RESPETAR ORDEN COMO EN FullTerminalSystemService
                    //fullTerminalSystem.ca+"."+fullTerminalSystem.mcc+"."+fullTerminalSystem.pf_id+
                    //"."+fullTerminalSystem.visa_spnsrd_mercht+"."+fullTerminalSystem.amex_id_comercio

                    //se agrega ',' (coma) segun req.
                    //RST-64

                    /*char [] splitchar = {','};
                     * string [] strArr = null;
                     * string value = sysconfig.value;
                     * //tomo los 40 caracteres primero y los agrego en caname2
                     * if(value.TrimEnd() != "0")
                     * {
                     *  string caname2 = value.Substring(0,40);
                     *  //tring[] jpos_values= sysconfig.value.Split('.');
                     *  //me quedo con el string luego del caname
                     *  string aux = value.Substring(41);
                     *  //separo por '.' el string restante
                     *  strArr = aux.Split(splitchar);
                     *
                     *  if(strArr.Length > 1)
                     *  {
                     *      //Quita los espacios en blanco del final del String
                     *      terextDto.ca_name=caname2.TrimEnd();
                     *      terextDto.mcc= strArr[0];
                     *      terextDto.pf_id=strArr[1];
                     *      terextDto.visa_spnsrd_mercht=strArr[2];
                     *      terextDto.amex_id_comercio=strArr[3];
                     *  }
                     *  else
                     *  {
                     *      terextDto.ca_name=caname2.TrimEnd();
                     *      terextDto.mcc=null;
                     *      terextDto.pf_id=null;
                     *      terextDto.visa_spnsrd_mercht=null;
                     *      terextDto.amex_id_comercio=null;
                     *
                     *  }
                     * }else
                     * {
                     *  terextDto.ca_name=value.TrimEnd();
                     *  terextDto.mcc=null;
                     *  terextDto.pf_id=null;
                     *  terextDto.visa_spnsrd_mercht=null;
                     *  terextDto.amex_id_comercio=null;
                     * }*/
                }

                terextDto.terminalInit = _csvfile.TerminalInitialized(terminalID) ? 1 : 0;

                serviceResponse.Data = terextDto;
            }

            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }
            return(serviceResponse);
        }