Example #1
0
        public void AddNew(Receipts Receipt,
                           List <ReceiptDetails> lst_RD,
                           List <ReceiptsCard> lst_Card,
                           ReceiptInfo ri,
                           ReceiptMember rm, ref string ReceiptID)
        {
            ReceiptID = "";
            string[][] prm_R =
            {
                new string[] { "ReceiptId",            ""                                                    },
                new string[] { "Note",                 Receipt.Note                                          },
                //new string[] {"NoOfCustumers",Receipt.NoOfCustumers},
                new string[] { "NoOfCustumers",        "0"                                                   },
                new string[] { "CreatedBy",            Receipt.CreatedBy                                     },
                new string[] { "Status",               Receipt.Status                                        },
                new string[] { "TotalTax",             double.Parse(Receipt.TotalTax).ToString()             },
                new string[] { "TotalAmount",          double.Parse(Receipt.TotalAmount).ToString()          },
                new string[] { "TotalAmountBeforeTax", double.Parse(Receipt.TotalAmountBeforeTax).ToString() },
                new string[] { "DiscountAmount",       double.Parse(Receipt.DiscountAmount).ToString()       },
                new string[] { "TotalMoney",           double.Parse(Receipt.TotalMoney).ToString()           },
                new string[] { "CashPayAmt",           double.Parse(Receipt.CashPayAmt).ToString()           },
                new string[] { "CardPayAmt",           double.Parse(Receipt.CardPayAmt).ToString()           },
                new string[] { "ReturnAmt",            double.Parse(Receipt.ReturnAmt).ToString()            },
                new string[] { "ServiceCostAmount",    double.Parse(Receipt.ServiceCostAmount).ToString()    }
            };

            string[][][] prm_RD = new string[lst_RD.Count][][];
            int          i      = 0;

            foreach (ReceiptDetails rdt in lst_RD) //'TotalAmmount'
            {
                string[][] prm =
                {
                    new string[] { "ReceiptId",            ""                                                },
                    new string[] { "ProductId",            rdt.ProductId                                     },
                    new string[] { "PromotionId",          rdt.PromotionId                                   },
                    new string[] { "CreatedBy",            rdt.CreatedBy                                     },
                    new string[] { "Status",               rdt.Status                                        },
                    new string[] { "Qty",                  double.Parse(rdt.Qty).ToString()                  },
                    new string[] { "Price",                double.Parse(rdt.Price).ToString()                },
                    new string[] { "TotalAmountBeforeTax", double.Parse(rdt.TotalAmountBeforeTax).ToString() },
                    new string[] { "TaxAmount",            double.Parse(rdt.TaxAmount).ToString()            },
                    new string[] { "TotalAmount",          double.Parse(rdt.TotalAmount).ToString()          },
                    new string[] { "RefOrderId",           rdt.RefOrderId                                    },
                    new string[] { "DeskId",               rdt.DeskId                                        }
                };
                prm_RD[i] = prm;
                i++;
            }

            string[][][] prm_Card = null;
            if (lst_Card == null || lst_Card.Count == 0)
            {
                prm_Card = null;
            }
            else
            {
                i        = 0;
                prm_Card = new string[lst_Card.Count][][];
                foreach (ReceiptsCard rc in lst_Card)
                {
                    string[][] prm =
                    {
                        new string[] { "ReceiptId",      ""                                      },
                        new string[] { "CardNo",         rc.CardNo                               },
                        new string[] { "CardHolderName", rc.CardHolderName                       },
                        new string[] { "ExpiredDate",    rc.ExpiredDate                          },
                        new string[] { "CreatedBy",      rc.CreatedBy                            },
                        new string[] { "TotalAmount",    double.Parse(rc.TotalAmount).ToString() },
                        new string[] { "Bank",           rc.Bank                                 },
                        new string[] { "CardType",       rc.CardType                             },

                        new string[] { "TerminalId",     rc.TerminalId                           },
                        new string[] { "MerchantId",     rc.MerchantId                           },
                        new string[] { "TransType",      rc.TransType                            },
                        new string[] { "BatchNo",        rc.BatchNo                              },
                        new string[] { "TraceNo",        rc.TraceNo                              },
                        new string[] { "RefNo",          rc.RefNo                                },
                        new string[] { "AppCode",        rc.AppCode                              }
                    };
                    prm_Card[i] = prm;
                    i++;
                }
            }
            ///////
            string[][] prm_RI = { };
            if (ri != null)
            {
                string[][] prm =
                {
                    new string[] { "ReceiptId",    ""              },
                    new string[] { "CustomerName", ri.CustomerName },
                    new string[] { "Address",      ri.Address      },
                    new string[] { "Phone",        ri.Phone        },
                    new string[] { "Note",         ri.Note         }
                };
                prm_RI = prm;
            }
            else
            {
                prm_RI = null;
            }

            ////////////////
            string[][] prm_RM = { };
            if (rm != null)
            {
                string[][] prm =
                {
                    new string[] { "ReceiptId", ""           },
                    new string[] { "MemberId",  rm.MemberId  },
                    new string[] { "Score",     null         },
                    new string[] { "CreatedBy", rm.CreatedBy }
                };
                prm_RM = prm;
            }
            else
            {
                prm_RM = null;
            }


            Program.destopService.Tran_Insert_Receipt(Program.Username, Program.Password, ref errorString,
                                                      prm_R, prm_RD, prm_Card, prm_RM, prm_RI,
                                                      ref res, ref ReceiptID);
        }
Example #2
0
        public static ReceiptsAll GetAllInfo(string ReceiptID)
        {
            ReceiptsAll res = new ReceiptsAll();

            DataSet ds = new DataSet();

            string[][] param =
            {
                new string[] { "p_ReceiptId", ReceiptID },
            };
            string errorString = "";
            string cnStr       = GetConnectionString();

            DataStoreProcQuery_Param(cnStr, "spSelect_Receipt_AllInfo", ref ds, param, ref errorString);

            if (string.IsNullOrEmpty(errorString) && ds.Tables.Count > 0)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataTable dt = ds.Tables[0];
                    DataRow   dr = dt.Rows[0];
                    Receipts  rc = new Receipts();
                    rc.ReceiptId            = dr["ReceiptId"].ToString();
                    rc.CreatedBy            = dr["CreatedBy"].ToString();
                    rc.CreatedDate          = dr["CreatedDate"].ToString();
                    rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0");
                    rc.TotalTax             = double.Parse(dr["TotalTax"].ToString()).ToString("0,0");
                    rc.TotalAmount          = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0");
                    rc.DiscountAmount       = double.Parse(dr["DiscountAmount"].ToString()).ToString("0,0");
                    rc.TotalMoney           = double.Parse(dr["TotalMoney"].ToString()).ToString("0,0");
                    rc.CashPayAmt           = double.Parse(dr["CashPayAmt"].ToString()).ToString("0,0");
                    rc.CardPayAmt           = double.Parse(dr["CardPayAmt"].ToString()).ToString("0,0");
                    rc.ReturnAmt            = double.Parse(dr["ReturnAmt"].ToString()).ToString("0,0");
                    res.receipt             = rc;
                }
                /////
                if (ds.Tables[1].Rows.Count > 0)
                {
                    DataTable             dt  = ds.Tables[1];
                    List <ReceiptDetails> lst = new List <ReceiptDetails>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        ReceiptDetails rc = new ReceiptDetails();
                        rc.ReceiptId            = dr["ReceiptId"].ToString();
                        rc.ProductId            = dr["ProductId"].ToString();
                        rc.ProductName          = GetProductName(dr["ProductId"].ToString());
                        rc.Qty                  = double.Parse(dr["Qty"].ToString()).ToString("0,0");
                        rc.Price                = double.Parse(dr["Price"].ToString()).ToString("0,0");
                        rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0");
                        rc.TaxAmount            = double.Parse(dr["TaxAmount"].ToString()).ToString("0,0");
                        rc.TotalAmount          = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0");

                        lst.Add(rc);
                    }
                    res.lst_Detail = lst;
                }
                ///thẻ
                if (ds.Tables[2].Rows.Count > 0)
                {
                    DataTable           dt  = ds.Tables[2];
                    List <ReceiptsCard> lst = new List <ReceiptsCard>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        ReceiptsCard rc = new ReceiptsCard();
                        rc.ReceiptId      = dr["ReceiptId"].ToString();
                        rc.CardNo         = dr["CardNo"].ToString();
                        rc.CardHolderName = dr["CardHolderName"].ToString();
                        rc.ExpiredDate    = dr["ExpiredDate"].ToString();
                        rc.CardType       = dr["CardType"].ToString();
                        rc.Bank           = dr["Bank"].ToString();
                        rc.TotalAmount    = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0");
                        lst.Add(rc);
                    }
                    res.lst_card = lst;
                }

                // ReceiptInfo
                if (ds.Tables[3].Rows.Count > 0)
                {
                    DataTable   dt = ds.Tables[3];
                    DataRow     dr = dt.Rows[0];
                    ReceiptInfo rc = new ReceiptInfo();
                    rc.ReceiptId    = dr["ReceiptId"].ToString();
                    rc.CustomerName = dr["CustomerName"].ToString();
                    rc.Address      = dr["Address"].ToString();
                    rc.Phone        = dr["Phone"].ToString();
                    rc.Note         = dr["Note"].ToString();
                    res.receiptInfo = rc;
                }

                // ReceiptMember
                if (ds.Tables[4].Rows.Count > 0)
                {
                    DataTable     dt = ds.Tables[4];
                    DataRow       dr = dt.Rows[0];
                    ReceiptMember rc = new ReceiptMember();
                    rc.ReceiptId = dr["ReceiptId"].ToString();
                    rc.MemberId  = dr["MemberId"].ToString();
                    rc.CreatedBy = dr["CreatedBy"].ToString();
                    DataTable dte = GetMemberInfo(dr["MemberId"].ToString());
                    if (dte != null)
                    {
                        DataRow drr = dte.Rows[0];
                        rc.MemberCode      = drr["MemberCode"].ToString();
                        rc.ObjectId        = drr["ObjectId"].ToString();
                        rc.NumberOfVissits = drr["NumberOfVissits"].ToString();
                        rc.LastestDate     = drr["LastestDate"].ToString();
                        rc.MemberType      = drr["MemberType"].ToString();

                        rc.MemberScore = drr["MemberScore"].ToString();
                        rc.ObjectGroup = drr["ObjectGroup"].ToString();
                        rc.ObjectType  = drr["ObjectType"].ToString();
                        rc.Tel         = drr["Tel"].ToString();
                        rc.Email       = drr["Email"].ToString();
                        rc.MemberCode  = drr["Gender"].ToString();
                        rc.FullName    = drr["FullName"].ToString();
                        rc.TemAdd      = drr["TemAdd"].ToString();
                    }
                    res.receiptMember = rc;
                }
            }
            else
            {
                res = null;
            }

            return(res);
        }
Example #3
0
        public ReceiptsAll GetAllInfo(string ReceiptID)
        {
            ReceiptsAll res = new ReceiptsAll();

            DataSet ds = new DataSet();

            string[][] param =
            {
                new string[] { "p_ReceiptId", ReceiptID },
            };
            Program.destopService.DataStoreProcQuery_Param(Program.Username, Program.Password, "spSelect_Receipt_AllInfo", ref ds, param, ref errorString);

            if (string.IsNullOrEmpty(errorString) && ds.Tables.Count > 0)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataTable dt = ds.Tables[0];
                    DataRow   dr = dt.Rows[0];
                    Receipts  rc = new Receipts();
                    rc.ReceiptId            = dr["ReceiptId"].ToString();
                    rc.CreatedBy            = dr["CreatedBy"].ToString();
                    rc.CreatedDate          = Convert.ToDateTime(dr["CreatedDate"].ToString()).ToString("dd/MM/yy H:s");
                    rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0");
                    rc.TotalTax             = double.Parse(dr["TotalTax"].ToString()).ToString("0,0");
                    rc.TotalAmount          = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0");
                    rc.DiscountAmount       = double.Parse(dr["DiscountAmount"].ToString()).ToString("0,0");
                    rc.TotalMoney           = double.Parse(dr["TotalMoney"].ToString()).ToString("0,0");
                    rc.CashPayAmt           = double.Parse(dr["CashPayAmt"].ToString()).ToString("0,0");
                    rc.CardPayAmt           = double.Parse(dr["CardPayAmt"].ToString()).ToString("0,0");
                    rc.ReturnAmt            = double.Parse(dr["ReturnAmt"].ToString()).ToString("0,0");

                    rc.ServiceCostAmount = double.Parse(dr["ServiceCostAmount"].ToString()).ToString("0,0");

                    res.receipt = rc;
                }
                /////
                if (ds.Tables[1].Rows.Count > 0)
                {
                    Tuple <string, string> result;
                    DataTable             dt  = ds.Tables[1];
                    List <ReceiptDetails> lst = new List <ReceiptDetails>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        ReceiptDetails rc = new ReceiptDetails();
                        rc.ReceiptId = dr["ReceiptId"].ToString();
                        rc.ProductId = dr["ProductId"].ToString();
                        if (dr["ProductId"].ToString() != "DISCOUNT")
                        {
                            result = GetProductInfoForReceipt(dr["ProductId"].ToString());
                            //rc.ProductName = GetProductName(dr["ProductId"].ToString());
                            rc.ProductName = result.Item1;
                            rc.IsBuffet    = result.Item2;
                        }
                        else
                        {
                            rc.ProductName = dr["ProductId"].ToString();
                            rc.IsBuffet    = "0";
                        }

                        rc.Qty   = double.Parse(dr["Qty"].ToString()).ToString("0,0");
                        rc.Price = double.Parse(dr["Price"].ToString()).ToString("0,0");
                        rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0");
                        rc.TaxAmount            = double.Parse(dr["TaxAmount"].ToString()).ToString("0,0");
                        rc.TotalAmount          = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0");

                        lst.Add(rc);
                    }

                    //Duyệt lại lst va set theo thu tu
                    List <ReceiptDetails> lstNew = new List <ReceiptDetails>();
                    //Lấy sp khác buffet
                    foreach (ReceiptDetails rd in lst)
                    {
                        ReceiptDetails rds = new ReceiptDetails();
                        if (rd.IsBuffet != "1")
                        {
                            rds.ReceiptId = rd.ReceiptId;
                            rds.ProductId = rd.ProductId;

                            rds.ProductName = rd.ProductName;
                            rds.IsBuffet    = rd.IsBuffet;

                            rds.Qty   = rd.Qty;
                            rds.Price = rd.Price;
                            rds.TotalAmountBeforeTax = rd.TotalAmountBeforeTax;
                            rds.TaxAmount            = rd.TaxAmount;
                            rds.TotalAmount          = rd.TotalAmount;

                            lstNew.Add(rds);
                        }
                    }
                    if (lst.Count > lstNew.Count)
                    {
                        //Lấy sp là buffet và price != 0
                        foreach (ReceiptDetails rd in lst)
                        {
                            ReceiptDetails rds1 = new ReceiptDetails();
                            if (rd.IsBuffet == "1" && double.Parse(rd.Price) > 0)
                            {
                                rds1.ReceiptId = rd.ReceiptId;
                                rds1.ProductId = rd.ProductId;

                                rds1.ProductName = rd.ProductName;
                                rds1.IsBuffet    = rd.IsBuffet;

                                rds1.Qty   = rd.Qty;
                                rds1.Price = rd.Price;
                                rds1.TotalAmountBeforeTax = rd.TotalAmountBeforeTax;
                                rds1.TaxAmount            = rd.TaxAmount;
                                rds1.TotalAmount          = rd.TotalAmount;

                                lstNew.Add(rds1);
                            }
                        }

                        foreach (ReceiptDetails rd in lst)
                        {
                            ReceiptDetails rds2 = new ReceiptDetails();
                            if (rd.IsBuffet == "1" && double.Parse(rd.Price) == 0)
                            {
                                rds2.ReceiptId = rd.ReceiptId;
                                rds2.ProductId = rd.ProductId;

                                rds2.ProductName = rd.ProductName;
                                rds2.IsBuffet    = rd.IsBuffet;

                                rds2.Qty   = rd.Qty;
                                rds2.Price = rd.Price;
                                rds2.TotalAmountBeforeTax = rd.TotalAmountBeforeTax;
                                rds2.TaxAmount            = rd.TaxAmount;
                                rds2.TotalAmount          = rd.TotalAmount;

                                lstNew.Add(rds2);
                            }
                        }
                    }
                    res.lst_Detail = lstNew;
                }
                ///thẻ
                if (ds.Tables[2].Rows.Count > 0)
                {
                    DataTable           dt  = ds.Tables[2];
                    List <ReceiptsCard> lst = new List <ReceiptsCard>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        ReceiptsCard rc = new ReceiptsCard();
                        rc.ReceiptId      = dr["ReceiptId"].ToString();
                        rc.CardNo         = dr["CardNo"].ToString();
                        rc.CardHolderName = dr["CardHolderName"].ToString();
                        rc.ExpiredDate    = dr["ExpiredDate"].ToString();
                        rc.CardType       = dr["CardType"].ToString();
                        rc.Bank           = dr["Bank"].ToString();
                        rc.TotalAmount    = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0");
                        lst.Add(rc);
                    }
                    res.lst_card = lst;
                }

                // ReceiptInfo
                if (ds.Tables[3].Rows.Count > 0)
                {
                    DataTable   dt = ds.Tables[3];
                    DataRow     dr = dt.Rows[0];
                    ReceiptInfo rc = new ReceiptInfo();
                    rc.ReceiptId    = dr["ReceiptId"].ToString();
                    rc.CustomerName = dr["CustomerName"].ToString();
                    rc.Address      = dr["Address"].ToString();
                    rc.Phone        = dr["Phone"].ToString();
                    rc.Note         = dr["Note"].ToString();
                    res.receiptInfo = rc;
                }

                // ReceiptMember
                if (ds.Tables[4].Rows.Count > 0)
                {
                    DataTable     dt = ds.Tables[4];
                    DataRow       dr = dt.Rows[0];
                    ReceiptMember rc = new ReceiptMember();
                    rc.ReceiptId = dr["ReceiptId"].ToString();
                    rc.MemberId  = dr["MemberId"].ToString();
                    rc.CreatedBy = dr["CreatedBy"].ToString();
                    DataTable dte = GetMemberInfo(dr["MemberId"].ToString());
                    if (dte != null)
                    {
                        DataRow drr = dte.Rows[0];
                        rc.MemberCode      = drr["MemberCode"].ToString();
                        rc.ObjectId        = drr["ObjectId"].ToString();
                        rc.NumberOfVissits = drr["NumberOfVissits"].ToString();
                        rc.LastestDate     = drr["LastestDate"].ToString();
                        rc.MemberType      = drr["MemberType"].ToString();

                        rc.MemberScore = drr["MemberScore"].ToString();
                        rc.ObjectGroup = drr["ObjectGroup"].ToString();
                        rc.ObjectType  = drr["ObjectType"].ToString();
                        rc.Tel         = drr["Tel"].ToString();
                        rc.Email       = drr["Email"].ToString();
                        rc.MemberCode  = drr["Gender"].ToString();
                        rc.FullName    = drr["FullName"].ToString();
                        rc.TemAdd      = drr["TemAdd"].ToString();
                    }
                    res.receiptMember = rc;
                }
            }
            else
            {
                res = null;
            }

            return(res);
        }