示例#1
0
        public IdentityRange GetIdentityRange(int accountType)
        {
            try
            {
                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query   = $"SELECT * FROM AccSortCodes WHERE Code = {accountType}";
                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    using (var reader = command.ExecuteReader())
                    {
                        if (reader.HasRows)
                        {
                            reader.Read();
                            return(new IdentityRange
                            {
                                Code = Convert.ToInt32(reader["Code"]),
                                Desc = SafeConvert.ToString(reader["Desc"]),
                                From = Convert.ToInt32(reader["From"]),
                                To = Convert.ToInt32(reader["To"])
                            });
                        }

                        return(null);
                    };
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }
示例#2
0
        public IEnumerable <Store> GetStores()
        {
            try
            {
                var stores = new List <Store>();

                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query   = $@"SELECT * FROM storeHDR";
                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            stores.Add(new Store
                            {
                                No   = SafeConvert.ToInt32(reader["No"]),
                                Name = SafeConvert.ToString(reader["Name"])
                            });
                        }
                    }

                    return(stores);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }
        public void SetupForm(BLogic BL)
        {
            this.BL = BL;
            //this.variableTID = variableTID;
            UserInterfaceHelper.CenterWindow(this);
            UserInterfaceHelper.VisibleForms.Add(this);

            txtMonto.Text = SafeConvert.ToString(BL.CurrentTransaction.FoodToPay());
        }
示例#4
0
        public Account GetAccount(int id)
        {
            try
            {
                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query = $@"SELECT * FROM Accounts WHERE AccNo = {id}";

                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    using (var reader = command.ExecuteReader())
                    {
                        if (!reader.HasRows)
                        {
                            return(null);
                        }
                        reader.Read();

                        return(new Account
                        {
                            Id = Convert.ToInt32(reader["AccNo"]),
                            ProviderId = SafeConvert.ToString(reader["AuxAccNo"]),
                            Name = SafeConvert.ToString(reader["Name"]),
                            Address = SafeConvert.ToString(reader["Address"]),
                            City = SafeConvert.ToString(reader["City"]),
                            ZipCode = SafeConvert.ToString(reader["ZipCode"]),
                            ComercialReduc = Convert.ToSingle(reader["Reduc100"]) / 100,
                            CreditLevel = Convert.ToSingle(reader["CreditLevel"]),
                            Email = SafeConvert.ToString(reader["Email"]),
                            OsekNo = SafeConvert.ToString(reader["OsekNo"]),
                            Fax = SafeConvert.ToString(reader["Fax"]),
                            Phone1 = SafeConvert.ToString(reader["Phone1"]),
                            Phone2 = SafeConvert.ToString(reader["Phone2"]),
                            SortCode1 = Convert.ToInt32(reader["SortCode1"]),
                            SortCode2 = Convert.ToInt32(reader["SortCode2"]),
                            SortCode3 = Convert.ToInt32(reader["SortCode34"]),
                            SortCode4 = 0,
                            SortCode5 = Convert.ToInt32(reader["SortCode5"]),
                            SortCode6 = Convert.ToInt32(reader["SortCode6"]),
                            VatFlag = SafeConvert.ToString(reader["VatFlag"]),
                            CreatedDate = FromPervasiveDate(Convert.ToDouble(reader["Cdate"])),
                            UpdatedDate = FromPervasiveDate(Convert.ToDouble(reader["Udate"])),
                            RecurringPayment = Convert.ToSingle(reader["CreditDays"]),
                            Balance = Convert.ToSingle(reader["GrandTotal"]),
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }
示例#5
0
		public bool SetOrCreate(string sName, bool val) {
			bool bGood;
			int iInternalIndex=IndexOf(sName);
			if (iInternalIndex>=0) {
				bGood=ForceSet(iInternalIndex,sName,SafeConvert.ToString(val));
			}
			else {
				bGood=ForceSet(iCount,sName,SafeConvert.ToString(val));
			}
			return bGood;
		}
示例#6
0
        public static string _ToString(this object obj, string defaultValue)
        {
            string val = SafeConvert.ToString(obj);

            if (val == "")
            {
                return(defaultValue);
            }
            else
            {
                return(val);
            }
        }
示例#7
0
        //public static Bitmap AddWatermark( Bitmap srcBitmap, int posX, int posY, string watermarkPath, float transparency )
        //{
        //    Bitmap destBitmap = new Bitmap ( srcBitmap.Width, srcBitmap.Height );
        //    using ( Graphics g = Graphics.FromImage ( destBitmap ) )
        //    {
        //        //画原图
        //        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
        //        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        //        g.DrawImage ( srcBitmap, 0, 0, srcBitmap.Width, srcBitmap.Height );
        //        //画水印图
        //        using ( Bitmap watermarkBitmap = new Bitmap ( System.Drawing.Image.FromFile ( watermarkPath ) ) )
        //        {
        //            float [] [] ptsArray = { new float [] { 1, 0, 0, 0, 0 }, new float [] { 0, 1, 0, 0, 0 }, new float [] { 0, 0, 1, 0, 0 }, new float [] { 0, 0, 0, transparency, 0 }, new float [] { 0, 0, 0, 0, 1 } };
        //            ColorMatrix clrMatrix = new ColorMatrix ( ptsArray );
        //            ImageAttributes imgAttributes = new ImageAttributes ();
        //            imgAttributes.SetColorMatrix ( clrMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap );
        //            g.DrawImage ( watermarkBitmap, new Rectangle ( posX, posY, watermarkBitmap.Width, watermarkBitmap.Height ), 0, 0, watermarkBitmap.Width, watermarkBitmap.Height, GraphicsUnit.Pixel, imgAttributes );
        //        }
        //    }
        //    return destBitmap;
        //}

        #endregion

        public static bool IsAllowedExtension(HttpPostedFile postFile)
        {
            string fileclass = string.Empty;

            //byte buffer;
            //buffer = postFile.InputStream.ReadByte();
            fileclass = SafeConvert.ToString(postFile.InputStream.ReadByte());
            //buffer = postFile.InputStream.ReadByte();
            fileclass += SafeConvert.ToString(postFile.InputStream.ReadByte());
            postFile.InputStream.Position = 0;
            if (fileclass == "255216" || fileclass == "7173" || fileclass == "6677" || fileclass == "13780") //说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#8
0
        public QM_IQC_MIDDLE submitIQCInspectionDetailResult(IList <CV_QM_IQC_BOTTOM> list)
        {
            int           i = 0, len = list.Count;
            int           badQua = 0;
            DateTime      now    = SSGlobalConfig.Now;
            QM_IQC_MIDDLE middle = null;

            using (TransactionScope ts = new TransactionScope())
            {
                for (i = 0; i < len; i++)
                {
                    CV_QM_IQC_BOTTOM cv_bottom = list[i];
                    if (cv_bottom.SingleResult.Equals("NG"))
                    {
                        badQua++;
                    }
                    QM_IQC_BOTTOM tmp = new QM_IQC_BOTTOM()
                    {
                        KID          = cv_bottom.KID,
                        Value        = cv_bottom.Value,
                        SingleResult = cv_bottom.SingleResult,
                        Abnormality  = cv_bottom.AbnormalityCode,
                        Reason       = cv_bottom.CauseCode
                    };
                    iqc_bottom_bo.UpdateSome(tmp);
                }
                //更新中表
                middle = new QM_IQC_MIDDLE()
                {
                    MGuid      = list[0].MGuid,
                    ItemResult = badQua == 0 ? "OK" : "NG",
                    AcceptQua  = SafeConvert.ToString(len - badQua),
                    BadQua     = SafeConvert.ToString(badQua),
                    ItemStatus = "已检",
                    ItemDate   = now
                };
                iqc_middle_bo.UpdateSome(middle);
                ts.Complete();
            }
            return(middle);
        }
        /// <summary>
        /// MES 发送邮件
        /// </summary>
        /// <param name="em">事件模块</param>
        /// <param name="brief">邮件标题</param>
        /// <param name="content">邮件内容</param>
        public void Send(string em, string brief, string content, string attachments, string optor)
        {
            CV_PM_ALT_EVENT_TYPE type = _CV_PM_ALT_EVENT_TYPEBO.GetEntity(SafeConvert.ToString(em));

            try
            {
                PM_ALT_EVENT_LOG log = new PM_ALT_EVENT_LOG
                {
                    EventLogID   = Guid.NewGuid(),
                    CreatedBy    = optor,
                    CreatedOn    = SSGlobalConfig.Now,
                    EventBrief   = string.Format(type.EventBrief, brief),
                    EventContent = string.Format(type.EventContent, brief, content),
                    Attachments  = attachments,
                    EventTypeID  = type.EventTypeID,
                    IsFinished   = false,
                    NotifiedCnt  = 0
                };
                this.Insert(log);
            }
            catch
            {
                PM_ALT_EVENT_LOG log = new PM_ALT_EVENT_LOG
                {
                    EventLogID   = Guid.NewGuid(),
                    CreatedBy    = optor,
                    CreatedOn    = SSGlobalConfig.Now,
                    EventBrief   = string.Format(brief),
                    EventContent = string.Format(content),
                    Attachments  = attachments,
                    EventTypeID  = type.EventTypeID,
                    IsFinished   = false,
                    NotifiedCnt  = 0
                };
                this.Insert(log);
            }
        }
示例#10
0
        public IEnumerable <ItemBarcode> GetBarcodes()
        {
            try
            {
                var barcodes = new List <ItemBarcode>();

                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query = $@"
                        SELECT  * 
                        FROM    BARCODES
                    ";

                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    using (var reader = command.ExecuteReader())
                        while (reader.Read())
                        {
                            barcodes.Add(new ItemBarcode
                            {
                                ItemId  = SafeConvert.ToString(reader["ItemNo"]),
                                Barcode = SafeConvert.ToString(reader["Barcode"]),
                                Notes   = SafeConvert.ToString(reader["Remarks"])
                            });
                        }

                    return(barcodes);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }
示例#11
0
 public static string _ToString(this object obj)
 {
     return(SafeConvert.ToString(obj));
 }
 private void CreditoForm_Load(object sender, EventArgs e)
 {
     txtMonto.Text = SafeConvert.ToString(BL.CurrentTransaction.FoodToPay());
 }
        public void Log(HttpRequestBase request, string info = "", long executionTime = 0)
        {
            var log = new LogItem();
            var req = request;

            if (req != null)
            {
                log.IP = req.GetClientIpAddress();

                if (req.UrlReferrer != null)
                {
                    log.Referer = req.UrlReferrer.OriginalString;
                }

                var sb    = new StringBuilder();
                var count = 0;

                foreach (var name in req.Cookies)
                {
                    var cookie = req.Cookies[name.ToString()];

                    if (cookie != null)
                    {
                        sb.Append((count == 0 ? "" : ",") + SafeClrConvert.ToString(cookie.Name) + "=" + cookie.Value);

                        count++;
                    }
                }

                log.Cookies  = sb.ToString();
                log.Method   = req.HttpMethod;
                log.HostName = req.UserHostName;

                if (req.Url != null)
                {
                    log.Url = req.Url.ToString();
                }

                log.FormData = req.Form.Join();
                log.Headers  = req.Headers.Join(new List <string> {
                    "cookie"
                });

                if (string.Compare(req.HttpMethod, "post", true) == 0)
                {
                    try
                    {
                        using (var receiveStream = req.InputStream)
                        {
                            using (var readStream = new StreamReader(receiveStream, Encoding.UTF8))
                            {
                                log.Body = readStream.ReadToEnd();
                            }

                            if (string.IsNullOrEmpty(log.Body))
                            {
                                //body = req.
                            }
                        }
                    }
                    catch (Exception ex2)
                    {
                        log.Body = "DefaultRequestLogger.Log: " + ex2.Message;
                    }
                }

                if (req.Browser != null)
                {
                    log.Browser = req.Browser.Type + " " + req.Browser.Version;
                }

                try
                {
                    var constrKey = ConfigurationManager.AppSettings["ActiveCnn"] ?? "ConStr";
                    var constr    = ConfigurationManager.ConnectionStrings[constrKey].ConnectionString;

                    if (!string.IsNullOrEmpty(constr))
                    {
                        using (var con = new SqlConnection(constr))
                        {
                            using (var cmd = new SqlCommand("usp1_log_request", con))
                            {
                                cmd.CommandType = CommandType.StoredProcedure;

                                cmd.Parameters.AddWithValue("@Browser", log.Browser);
                                cmd.Parameters.AddWithValue("@IP", log.IP);
                                cmd.Parameters.AddWithValue("@HostName", log.HostName);
                                cmd.Parameters.AddWithValue("@Method", log.Method);
                                cmd.Parameters.AddWithValue("@Url", log.Url);
                                cmd.Parameters.AddWithValue("@Body", log.Body);
                                cmd.Parameters.AddWithValue("@FormData", log.FormData);
                                cmd.Parameters.AddWithValue("@Cookies", log.Cookies);
                                cmd.Parameters.AddWithValue("@Headers", log.Headers);
                                cmd.Parameters.AddWithValue("@Referer", log.Headers);
                                cmd.Parameters.AddWithValue("@Info", SafeConvert.ToString(info).Left(500));
                                cmd.Parameters.AddWithValue("@ExecutionTime", executionTime);

                                con.Open();
                                cmd.ExecuteNonQuery();
                            }
                        }
                    }
                    else
                    {
                        _memoryLogger.Log(JsonConvert.SerializeObject(log));
                    }
                }
                catch (Exception _ex)
                {
                    _memoryLogger.Log(_ex.Message + ": " + JsonConvert.SerializeObject(log));
                }
            }
        }
        }//FINISH PM_OnSerializeToDbTransItemInElement

        //ANTES DEL CIERRE DE LA TRANSACCION
        void PM_OnBeforeCloseTransaction(Transaction transaction, ref bool abort)
        {
            //throw new NotImplementedException();
            // ARROJA ERROR SI EL SERVICIO NO ESTA DISPONIBLE


            if (webservice == null)
            {
                abort = true;
                BL.MsgError("WEBSERVICE NO COMUNICATION");
                return;
            }
            else
            {
                string printoutType = "";
                if (transaction.ManualPrintoutSelected == DbPayment.PrintoutType.KeepDefault || transaction.ManualPrintoutSelected == DbPayment.PrintoutType.NoPrintout)
                {
                    printoutType = "39";
                }
                if (transaction.ManualPrintoutSelected == DbPayment.PrintoutType.Invoice)
                {
                    printoutType = "33";
                }
                if (transaction.ManualPrintoutSelected == DbPayment.PrintoutType.Bill)
                {
                    printoutType = "39";
                }
                if (transaction.ManualPrintoutSelected == DbPayment.PrintoutType.Invoice && transaction.Customer == null)
                {
                    BL.MsgError("WE NEED A CUSTOMER");
                    abort = true;
                    return;
                }
                //string xmlData = "";
                //string documentType = "";

                DbCustomer receptorDTE = new DbCustomer();
                receptorDTE = customer;

                XmlStringWriter writer = new XmlStringWriter(BL.DB);
                writer.WriteRaw(@"<?xml version=""1.0"" encoding=""ISO-8859-1""?>");

                if (printoutType == "33")//FACTURA
                {
                    //INICIO DTE
                    writer.WriteStartElement("DTE");
                    writer.WriteAttribute("version", "1.0");
                    writer.WriteAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
                    writer.WriteAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
                    writer.WriteAttribute("xmlns", "http://www.sii.cl/SiiDte");
                    //FIN DTE
                }
                else//BOLETA
                {
                    //INICIO EnvioBOLETA
                    writer.WriteStartElement("EnvioBOLETA");
                    writer.WriteAttribute("version", "1.0");
                    writer.WriteAttribute("xmlns", "http://www.sii.cl/SiiDte");
                    writer.WriteAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
                    writer.WriteAttribute("xsi:schemaLocation", "http://www.sii.cl/SiiDte EnvioBOLETA_v11.xsd");
                    //FIN EnvioBoleta
                }

                //RUT RECEPTOR
                string rrecep;
                rrecep = getRutReceptorDTE();
                //RUT RECEPTOR

                if (printoutType == "39")//BOLETA
                {
                    //ONLY BOLETA
                    writer.WriteStartElement("SetDTE");
                    writer.WriteAttribute("ID", string.Format("ENVBOL-{0}", transaction.TransDate.ToString("yyyyMMddHHmmss")));
                    writer.WriteStartElement("Caratula");
                    writer.WriteAttribute("version", "1.0");
                    //string shopRut = BL.DB.Shop["rut"].ToString();
                    //string shopRut = "76328464-6";
                    string shopRut = dataEmisor.RutBoleta;
                    writer.WriteElement("RutEmisor", shopRut);
                    //string RutEnvia = BL.DB.Shop["RutEnvia"].ToString();
                    //string RutEnvia = "8833649-6";
                    string RutEnvia = dataEmisor.RutRepLegal;
                    writer.WriteElement("RutEnvia", RutEnvia);
                    //string RutReceptor = BL.DB.Shop["RutReceptor"].ToString();
                    //string RutReceptor = "66666666-6";
                    writer.WriteElement("RutReceptor", rrecep);
                    //DateTime FchResol = Convert.ToDateTime(BL.DB.Shop["FchResol"]);
                    //DateTime FchResol = new DateTime(2014, 04, 22);
                    DateTime FchResol = (dataEmisor.ResolDate);
                    writer.WriteElement("FchResol", FchResol.ToString("yyyy-MM-dd"));
                    //writer.WriteElement("NroResol", 0);
                    writer.WriteElement("NroResol", dataEmisor.NumResol);
                    writer.WriteElement("TmstFirmaEnv", DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"));
                    writer.WriteStartElement("SubTotDTE");
                    writer.WriteElement("TpoDTE", printoutType);
                    writer.WriteElement("NroDTE", 1);
                    writer.WriteEndElement();
                    writer.WriteEndElement();

                    writer.WriteStartElement("DTE");
                    writer.WriteAttribute("version", "1.0");
                    //END ONLY BOLETA
                }
                //string besRut = "76054473-6"; //MANAGE THIS FROM DB ON FRONTEND dataEmisor.Rut
                //
                string besRut = dataEmisor.Rut;
                if (printoutType == "39")
                {
                    //ONLY BOLETA
                    writer.WriteStartElement("Documento");
                    //string besRut = myClassPAramData["besRUT"].ToString();
                    string besRutBoletaE = dataEmisor.RutBoleta;
                    solicitarFolio = webservice.Solicitar_Folio(besRutBoletaE, 39);
                    writer.WriteAttribute("ID", string.Format("R{0}T{1}F{2}", besRutBoletaE, printoutType, solicitarFolio.Folio));
                    //END ONLY BOLETA
                }
                else
                {
                    solicitarFolio = webservice.Solicitar_Folio(besRut, 33);
                    writer.WriteStartElement("Documento");
                }

                writer.WriteStartElement("Encabezado");
                writer.WriteStartElement("IdDoc");
                writer.WriteElement("TipoDTE", printoutType);
                writer.WriteElement("Folio", solicitarFolio.Folio);
                writer.WriteElement("FchEmis", DateTime.Now.ToString("yyyy-MM-dd"));

                if (printoutType == "39")
                {
                    //SOLO BOLETA
                    writer.WriteElement("IndServicio", 3);
                    //SOLO BOLETA
                }
                else
                {
                    //TermPagoGlosa
                    //FchVenc
                    writer.WriteElement("TermPagoGlosa", "30 dias Precio Contado"); ///////////////////////////////////////////ASK 4 THIS FIELD
                    writer.WriteElement("FchVenc", "2016-06-30");                   /////////////////////////////////////////////////////////////ASK 4 THIS FIELD
                }

                writer.WriteEndElement(); //IdDoc

                //FIN DATOS EMISOR

                if (printoutType == "39")
                {
                    writer.WriteStartElement("Emisor");
                    writer.WriteElement("RUTEmisor", dataEmisor.Rut);
                    writer.WriteElement("RznSocEmisor", dataEmisor.RazonEmisor);
                    writer.WriteElement("GiroEmisor", dataEmisor.GiroEmisor);
                    writer.WriteElement("CdgSIISucur", dataEmisor.CodigoSII);
                    writer.WriteElement("DirOrigen", dataEmisor.DireccionEm);
                    writer.WriteElement("CmnaOrigen", dataEmisor.ComunaEm);
                    writer.WriteElement("CiudadOrigen", dataEmisor.CiudadEm);
                    writer.WriteEndElement(); //Emisor
                }
                else
                {
                    writer.WriteStartElement("Emisor");
                    //<Acteco>602300</Acteco>
                    writer.WriteElement("Acteco", dataEmisor.ActEco);
                    writer.WriteElement("RUTEmisor", dataEmisor.Rut);
                    writer.WriteElement("RznSoc", dataEmisor.RazonEmisor);
                    writer.WriteElement("GiroEmis", dataEmisor.GiroEmisor);
                    writer.WriteElement("DirOrigen", dataEmisor.DireccionEm);
                    writer.WriteElement("CmnaOrigen", dataEmisor.ComunaEm);
                    writer.WriteElement("CiudadOrigen", dataEmisor.CiudadEm);
                    writer.WriteElement("CdgVendedor", BL.CurrentOperator.Code);
                    writer.WriteEndElement(); //Emisor
                }

                //OBJETO RECEPTOR
                DbCustomer receptorC = BL.DB.GetCustomerByCardNum((rrecep.Replace("-", "")), false);

                //OBJETO RECEPTOR

                writer.WriteStartElement("Receptor");
                writer.WriteElement("RUTRecep", rrecep);


                if (printoutType == "33")//FACTURA
                {
                    //<CdgIntRecep>76124037C</CdgIntRecep>
                    writer.WriteElement("CdgIntRecep", getCodeIntRecep(rrecep));
                    writer.WriteElement("RznSocRecep", receptorC.C_o);
                    //<GiroRecep>VENTA AL POR MAYOR DE OTROS PRODUCTOS N.</GiroRecep>
                    writer.WriteElement("GiroRecep", receptorC.C_o);
                    writer.WriteElement("DirRecep", receptorC.Street);
                    writer.WriteElement("CmnaRecep", receptorC.Notes1);
                    writer.WriteElement("CiudadRecep", receptorC.City);
                    writer.WriteEndElement(); //Receptor
                }
                else//BOLETA
                {
                    writer.WriteElement("RznSocRecep", null);
                    writer.WriteElement("Contacto", null);//ASK NUM TELEFONO
                    writer.WriteElement("DirRecep", null);
                    writer.WriteElement("CmnaRecep", null);
                    writer.WriteElement("CiudadRecep", null);
                    writer.WriteElement("DirPostal", null);
                    writer.WriteElement("CmnaPostal", null);
                    writer.WriteElement("CiudadPostal", null);
                    writer.WriteEndElement(); //Receptor
                }

                writer.WriteStartElement("Totales");

                if (printoutType == "33")//FACTURA
                {
                    double monto, neto, iva;
                    string netoS, ivaS;
                    monto = SafeConvert.ToInt32(transaction.Total);
                    neto  = monto * 0.81;
                    iva   = monto - neto;
                    netoS = SafeConvert.ToString(neto);
                    ivaS  = SafeConvert.ToString(iva);

                    writer.WriteElement("TpoMoneda", "PESO CL");
                    writer.WriteElement("MntNeto", netoS);
                    writer.WriteElement("TasaIVA", "19.00");
                    writer.WriteElement("IVA", ivaS);
                }
                writer.WriteElement("MntTotal", SafeConvert.ToInt32(transaction.Total));
                writer.WriteEndElement(); //Totales

                writer.WriteEndElement(); //Encabezado

                int position = 1;
                foreach (TransArticle art in transaction.GetItems <TransArticle>())
                {
                    writer.WriteStartElement("Detalle");
                    writer.WriteElement("NroLinDet", position);
                    writer.WriteStartElement("CdgItem");
                    writer.WriteElement("TpoCodigo", "Interna");
                    writer.WriteElement("VlrCodigo", art.Data.Code);
                    writer.WriteEndElement(); //CdgItem
                    writer.WriteElement("NmbItem", art.Data.Description);

                    if (printoutType == "33")
                    {
                        writer.WriteElement("DscItem", art.Data.Description);
                    }

                    writer.WriteElement("QtyItem", art.Data.MeasureUnit == DbArticle.Units.Pieces ? art.Quantity : 1);
                    //writer.WriteElement("QtyItem", 1);
                    writer.WriteElement("UnmdItem", null);
                    writer.WriteElement("PrcItem", art.UnitPrice);
                    //writer.WriteElement("MontoItem", art.TotalPrice);
                    string totalprice = art.TotalPrice.ToString();
                    totalprice = totalprice.Replace(".00", "");
                    writer.WriteElement("MontoItem", totalprice);
                    writer.WriteEndElement(); //Detalle
                    position++;
                }

                writer.WriteEndElement(); //Documento
                writer.WriteEndElement(); //DTE

                if (printoutType == "39")
                {
                    writer.WriteEndElement(); //SetDTE
                    writer.WriteEndElement(); //EnvioBOLETA || DTE
                }

                string xmlString = writer.ToString();


                if (printoutType == "33")
                {
                    resultProcesarTXTDTE = webservice.Carga_TXTDTE(xmlString, "XML");
                }
                else
                {
                    resultProcesarTXTBoleta = webservice.Carga_TXTBoleta(xmlString, "XML");
                }
                string fob;
                if (printoutType == "33")
                {
                    fob = "Factura";
                }
                else
                {
                    fob = "Boleta";
                }

                if (dataEmisor.SaveXML == 1)
                {
                    //SAVE TO FILE XML
                    string path = Path.GetPathRoot(Environment.SystemDirectory);
                    System.IO.Directory.CreateDirectory("C:\\xmlTCPOS");
                    //System.IO.File.WriteAllText(@"C:\xmlTCPOS\" + fob + "" + DateTime.Now.ToString("yyyyMMddHHmm") + ".xml", xmlString);
                    System.IO.File.WriteAllText(@"" + path + "xmlTCPOS\\" + fob + "" + DateTime.Now.ToString("yyyyMMddHHmm") + ".xml", xmlString);
                    //END SAVE TO FILE XML
                }

                if (printoutType == "33")
                {
                    if (resultProcesarTXTDTE.XML != "")
                    {
                        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(resultProcesarTXTDTE.XML);
                        XmlElement root = doc.DocumentElement;
                        if (root == null)
                        {
                            abort = true;
                            throw new Exception("XML BAD FORMAT");
                        }
                        XmlNodeList SignatureValue = root.GetElementsByTagName("TED");
                        string      signature      = "";
                        foreach (XmlNode tableNode in SignatureValue)
                        {
                            signature = tableNode.InnerXml;
                        }
                        if (signature != "")
                        {
                            signature = string.Format("<TED version=\"1.0\">" + signature + "</TED>");
                        }
                        transaction.SetCustomField("webservice_bes_signature", signature);
                        transaction.SetCustomField("dte_doc_type", printoutType);

                        XmlNodeList folioNUMValue = root.GetElementsByTagName("F");
                        string      folioNUM      = "";
                        foreach (XmlNode tableNode in folioNUMValue)
                        {
                            folioNUM = tableNode.InnerXml;
                        }

                        if (folioNUM != "")
                        {
                            folioNUM = string.Format("" + folioNUM + "");
                        }


                        transaction.SetCustomField("webservice_bes_folionum", folioNUM);
                        //GUARDA FOLIO 2 PRINT
                        if (folioNUM != "")
                        {
                            transaction.SetCustomField("bes_folio_num", folioNUM);
                        }
                        //END GUARDA FOLIO 2 PRINT
                        //PRINT TIPO DOC
                        transaction.SetCustomField("tipo_documento", "FACTURA ELECTRONICA");
                        //END PRINT TIPO DOC
                    }
                    else
                    {
                        abort = true;
                        BL.MsgError("No answer from webservice,\nelectronic invoice cannot be accepted\nPlease use another type of document");
                    }
                }
                else
                {
                    //if response from webservice read xml response and get the signature, save it into transaction and print signature
                    if (resultProcesarTXTBoleta.XML != "")
                    {
                        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(resultProcesarTXTBoleta.XML);
                        XmlElement root = doc.DocumentElement;
                        if (root == null)
                        {
                            abort = true;
                            throw new Exception("XML BAD FORMAT");
                        }

                        //OBTENER TED Y GUARDAR
                        XmlNodeList SignatureValue = root.GetElementsByTagName("TED");
                        string      signature      = "";
                        foreach (XmlNode tableNode in SignatureValue)
                        {
                            signature = tableNode.InnerXml;
                        }

                        if (signature != "")
                        {
                            signature = string.Format("<TED version=\"1.0\">" + signature + "</TED>");
                        }

                        transaction.SetCustomField("webservice_bes_signature", signature);
                        transaction.SetCustomField("dte_doc_type", printoutType);
                        //FIN OBTENER TED Y GUARDAR

                        //OBTENER FOLIONUM Y GUARDAR
                        XmlNodeList folioNUMValue = root.GetElementsByTagName("F");
                        string      folioNUM      = "";
                        foreach (XmlNode tableNode in folioNUMValue)
                        {
                            folioNUM = tableNode.InnerXml;
                        }

                        if (folioNUM != "")
                        {
                            folioNUM = string.Format("" + folioNUM + "");
                        }


                        transaction.SetCustomField("webservice_bes_folionum", folioNUM);
                        //FIN FOLIONUM Y GUARDAR
                        //GUARDA FOLIO 2 PRINT
                        if (folioNUM != "")
                        {
                            transaction.SetCustomField("bes_folio_num", folioNUM);
                        }
                        //END GUARDA FOLIO 2 PRINT
                        transaction.SetCustomField("tipo_documento", "BOLETA ELECTRONICA");
                    }
                    else
                    {
                        abort = true;
                        BL.MsgError("No answer from webservice,\nelectronic invoice cannot be accepted\nPlease use another type of document");
                    }
                }
            }
        }//FINISH PM_OnBeforeCloseTransaction
示例#15
0
 public static string _UrlEncodeByGB2312(this object obj)
 {
     return(System.Web.HttpUtility.UrlEncode(SafeConvert.ToString(obj), Encoding.GetEncoding("gb2312")));
 }
        }//FINISH PM_OnProcessUnknownIniParameter

        private void consultaCliente()
        {
            //if (true)
            //    return;
            if (BL.CurrentTransaction != null && BL.CurrentTransaction.Customer == null)
            {
                //USING FORM
                using (RutForm rutForm = new RutForm())
                {
                    rutForm.SetupForm(BL);
                    rutForm.Focus();
                    if (rutForm.ShowDialog() == DialogResult.OK)
                    {
                        rut = rutForm.txtRut.Text;
                        if (validaRut(rut))
                        {
                            //BL.MsgInfo("RUT VALIDO");
                        }
                        else
                        {
                            BL.MsgInfo("RUT NO VALIDO");
                            return;
                        }
                    }
                    else
                    {
                        customer = new DbCustomer();
                    }
                }
                //END USING FOMR

                KeypadParameters param = new KeypadParameters("");
                //KeypadResult result;

                if (rut == null)
                {
                    return;
                }
                rut = parseRUT(rut);
                string myCustomer = SafeConvert.ToString(BL.DB.CentralDbExecuteScalar("SELECT card_num FROM customers WHERE card_num = " + SqlHelper.Quote(rut)));

                customer = null;
                if (myCustomer != "")
                {
                    customer = BL.DB.GetCustomerByCardNum(myCustomer, false);
                }
                if (customer == null)
                {
                    customer = BL.DB.GetCustomerByCardNum(rut, false);
                }

                if (customer != null)
                {
                    BL.AddCustomer(null, customer.CardNum, true);
                    BL.RefreshTransactionItems();
                }
                else
                {
                    if (BL.MsgQuestion("Cliente no exite, deseas crearlo?", 5) == true)
                    {
                        //INICIO FORMULARIO NUEVO CLIENTE
                        BL.MsgWarning("Has Decidido Guardar al Cliente");
                        using (NewCustomerForm customerForm = new NewCustomerForm())
                        {
                            customerForm.SetupForm(BL, rut);
                            customerForm.Focus();
                            if (customerForm.ShowDialog() == DialogResult.OK)
                            {
                            }
                        }
                        //FIN INGRESO FORMULARIO NUEVO CLIENTE
                    }
                    else
                    {
                        BL.MsgInfo("Has Decidido NO guardar al Cliente");
                        return;
                    }
                }
            }
        }
        public string strictWMSHut(QM_PROCESS_TOP param)
        {
            //获得该加严单已选的入库箱号
            IList <QM_PROCESS_HUT> processHutList = getSequenceHut(param.Sequence);

            if (processHutList == null || processHutList.Count == 0)
            {
                return("尚未选择箱号");
            }
            else
            {
                Inspection insInfo = new Inspection()
                {
                    SESSIONID   = SafeConvert.ToString(Guid.NewGuid()),
                    QAORDERTYPE = param.Source == 5 ? "2" : "3", //质检来源
                    PRUEFLOS    = param.Sequence,                //检验批号
                    //MATNR 物料编码,MBLNR 物料凭证号,MJAHR 物料凭证年份
                    MATNR    = param.MaterielID,
                    MBLNR    = "",
                    MJAHR    = "",
                    LOSMENGE = param.SampleQua.Value,     //抽样数量
                    WERKS    = param.PlantID,             //工厂编码
                    HutID    = new List <InspectionHut>() //箱号
                };
                int i = 0, cnt = processHutList.Count;
                for (i = 0; i < cnt; i++)
                {
                    insInfo.HutID.Add(new InspectionHut()
                    {
                        HutID = processHutList[i].HutID
                    });                                                                        //箱号
                }
                RetuenInspection rt = null;
                try
                {
                    rt = api_wmsbo.strictWMSHut(insInfo);
                }
                catch (Exception ex)
                {
                    return("调用WMS接口失败:" + ex.Message);
                }

                //rt = JsonConvert.DeserializeObject<RetuenInspection>("{\"Success\":true,\"Message\":\"成功\",\"PRUEFLOS\":\"FQC20180530006-01\",\"HutID\":[{\"HutID\":\"12000022\"},{\"HutID\":\"12000035\"}]}");

                if (!rt.Success)
                {
                    return("WMS回传信息:" + rt.Message);
                }
                else
                {
                    for (i = 0; i < rt.HutID.Count; i++)
                    {
                        string cmd_updateHutSql = string.Format(CultureInfo.InvariantCulture, updateHutSql, rt.PRUEFLOS, rt.HutID[i].HutID);
                        bsc_bo.ExecuteNonQueryBySql(cmd_updateHutSql);
                    }
                    //更新状态
                    param.SequenceStatus = "待检";
                    process_topbo.UpdateSome(param);
                    return("");
                }
            }
        }
示例#18
0
        public IEnumerable <Account> Find(AccountSearchParams searchParams)
        {
            try
            {
                var accounts = new List <Account>();

                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query = $@"
                        SELECT  * 
                        FROM    Accounts
                        WHERE   ({searchParams.AccountId} <= 0 OR AccNo = {searchParams.AccountId})        
                        AND     ('{searchParams.OsekNo ?? ""}' = '' OR OsekNo = '{searchParams.OsekNo}')    
                        AND     ({searchParams.AccountType} <= 0 OR (AccNo BETWEEN {searchParams.IdentityRange?.From ?? 0} AND {searchParams.IdentityRange?.To ?? 0}))
                        AND     ({ PervasiveDBHelper.ToPervasiveDate(searchParams.FromUpdateDate)} <= 0 OR Udate >= { PervasiveDBHelper.ToPervasiveDate(searchParams.FromUpdateDate)})
                        ORDER BY Udate DESC
                    ";

                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            accounts.Add(new Account
                            {
                                Id             = Convert.ToInt32(reader["AccNo"]),
                                ProviderId     = SafeConvert.ToString(reader["AuxAccNo"]),
                                Name           = SafeConvert.ToString(reader["Name"]),
                                Address        = SafeConvert.ToString(reader["Address"]),
                                City           = SafeConvert.ToString(reader["City"]),
                                ZipCode        = SafeConvert.ToString(reader["ZipCode"]),
                                ComercialReduc = Convert.ToSingle(reader["Reduc100"]) / 100,
                                CreditLevel    = Convert.ToSingle(reader["CreditLevel"]),
                                Email          = SafeConvert.ToString(reader["Email"]),
                                OsekNo         = SafeConvert.ToString(reader["OsekNo"]),
                                Fax            = SafeConvert.ToString(reader["Fax"]),
                                Phone1         = SafeConvert.ToString(reader["Phone1"]),
                                Phone2         = SafeConvert.ToString(reader["Phone2"]),
                                SortCode1      = Convert.ToInt32(reader["SortCode1"]),
                                SortCode2      = Convert.ToInt32(reader["SortCode2"]),
                                SortCode3      = Convert.ToInt32(reader["SortCode34"]),
                                SortCode4      = 0,
                                SortCode5      = Convert.ToInt32(reader["SortCode5"]),
                                SortCode6      = Convert.ToInt32(reader["SortCode6"]),
                                VatFlag        = SafeConvert.ToString(reader["VatFlag"]),
                                CreatedDate    = FromPervasiveDate(Convert.ToDouble(reader["Cdate"])),
                                UpdatedDate    = FromPervasiveDate(Convert.ToDouble(reader["Udate"]))
                            });
                        }
                    }

                    return(accounts);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }
示例#19
0
 public static string _UrlEncodeByUTF8(this object obj)
 {
     return(System.Web.HttpUtility.UrlEncode(SafeConvert.ToString(obj), Encoding.UTF8));
 }
示例#20
0
        public IEnumerable <Item> Find(ItemSearchParams searchParams)
        {
            var hasSiteSync = this.IsColumnExists($"Items", "SITESYNC");
            var hasKupaSync = this.IsColumnExists($"Items", "KUPASYNC");
            var hasUpdDate  = this.IsColumnExists($"Items", "UitemDate");

            try
            {
                var items = new List <Item>();

                // ignore tables search with updated-date filter but no updated-date column
                // to prevent receiving incorrect data
                var hasUpdDateFilter = searchParams.FromUpdateDate.HasValue || searchParams.ToUpdateDate.HasValue;
                if (searchParams.PauseIfNoUpdateDateColumn && !hasUpdDate && hasUpdDateFilter)
                {
                    return(items);
                }

                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query = $@"
                        SELECT  * 
                        FROM    Items
                        WHERE   ('{searchParams.ItemId ?? ""}' = '' OR ItemNo = '{searchParams.ItemId}')       
                        AND     ('{searchParams.Barcode ?? ""}' = '' OR Barcode = '{searchParams.Barcode}')                                                                           
                        AND     ({searchParams.SortCode} = 0 OR SortCode1 = {searchParams.SortCode} OR SortCode2 = {searchParams.SortCode} OR SortCode3 = {searchParams.SortCode})                                                   
                    ";
                    /// AND     (totqty >= {searchParams.QtyInStock})

                    if (searchParams.IsBlocked.HasValue)
                    {
                        query += $"AND(TITLE {(searchParams.IsBlocked.Value ? "=" : "<>")} '{ SafeConvert.ToPervasiveString("כ")}') ";
                    }
                    if (hasSiteSync)
                    {
                        query += $"AND SITESYNC = {(searchParams.SyncToSite ? 1 : 0)} ";
                    }
                    if (hasKupaSync)
                    {
                        query += $"AND KUPASYNC = {(searchParams.SyncToFunds ? 1 : 0)} ";
                    }
                    if (hasUpdDate)
                    {
                        query += $@"
                        AND({ PervasiveDBHelper.ToPervasiveDate(searchParams.FromUpdateDate)} <= 0 OR UitemDate >= { PervasiveDBHelper.ToPervasiveDate(searchParams.FromUpdateDate)})
                        AND({ PervasiveDBHelper.ToPervasiveDate(searchParams.ToUpdateDate)} <= 0 OR UitemDate <= { PervasiveDBHelper.ToPervasiveDate(searchParams.ToUpdateDate)}) 
                    ";
                    }
                    query += "ORDER BY ItemNo DESC";

                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    /// throw new Exception(query);

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            items.Add(new Item
                            {
                                Id              = SafeConvert.ToString(reader["ItemNo"]),
                                ItemNameHE      = SafeConvert.ToString(reader["ItemName"]),
                                ItemNameEN      = SafeConvert.ToString(reader["Ename"]),
                                Barcode         = SafeConvert.ToString(reader["Barcode"]),
                                Characteristic1 = SafeConvert.ToString(reader["ifun1"]),
                                Characteristic2 = SafeConvert.ToString(reader["ifun2"]),
                                CurrencyCode1   = SafeConvert.ToInt32(reader["FC1"]),
                                CurrencyCode2   = SafeConvert.ToInt32(reader["FC2"]),
                                CurrencyCode3   = SafeConvert.ToInt32(reader["FC3"]),
                                CurrencyCode4   = SafeConvert.ToInt32(reader["FC4"]),
                                CurrencyCode5   = SafeConvert.ToInt32(reader["FC5"]),
                                CurrencyCode6   = SafeConvert.ToInt32(reader["FC6"]),
                                CurrencyCode7   = SafeConvert.ToInt32(reader["FC7"]),
                                CurrencyCode8   = SafeConvert.ToInt32(reader["FC8"]),
                                CurrencyCode9   = SafeConvert.ToInt32(reader["FC9"]),
                                CurrencyCode10  = SafeConvert.ToInt32(reader["FC10"]),
                                Price1          = SafeConvert.ToSingle(reader["Prc1"]),
                                Price2          = SafeConvert.ToSingle(reader["Prc2"]),
                                Price3          = SafeConvert.ToSingle(reader["Prc3"]),
                                Price4          = SafeConvert.ToSingle(reader["Prc4"]),
                                Price5          = SafeConvert.ToSingle(reader["Prc5"]),
                                Price6          = SafeConvert.ToSingle(reader["Prc6"]),
                                Price7          = SafeConvert.ToSingle(reader["Prc7"]),
                                Price8          = SafeConvert.ToSingle(reader["Prc8"]),
                                Price9          = SafeConvert.ToSingle(reader["Prc9"]),
                                Price10         = SafeConvert.ToSingle(reader["Prc10"]),
                                SortCode1       = SafeConvert.ToInt32(reader["SortCode1"]),
                                SortCode2       = SafeConvert.ToInt32(reader["SortCode2"]),
                                SortCode3       = SafeConvert.ToInt32(reader["SortCode3"]),
                                SupplerId1      = SafeConvert.ToInt32(reader["Supl1"]),
                                SupplerId2      = SafeConvert.ToInt32(reader["Supl2"]),
                                SupplerId3      = SafeConvert.ToInt32(reader["Supl3"]),
                                SupplerId4      = SafeConvert.ToInt32(reader["Supl4"]),
                                Unit            = SafeConvert.ToString(reader["Unit"]),
                                ///QtyInStock = SafeConvert.ToSingle(reader["totqty"]),
                                VatFlag     = SafeConvert.ToBoolean(reader["Patur"]),
                                SyncToSite  = SafeConvert.ToBoolean(reader.ReadOrDefault <bool>("SITESYNC")),
                                SyncToFunds = SafeConvert.ToBoolean(reader.ReadOrDefault <bool>("KUPASYNC")),
                                IsBlocked   = SafeConvert.ToBoolean(reader["TITLE"]),
                                UpdatedDate = FromPervasiveDate(Convert.ToDouble(reader.ReadOrDefault <double>("UitemDate"))),
                                ProviderId  = 0
                            });
                        }
                    }

                    return(items);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }