public object getdetail(int id)
        {
            var transection = new dto_transection();

            transection = DatabaseContext.Database.Query <dto_transection>(string.Format("select top(1) * from tb_transection where ID = {0};", id)).FirstOrDefault();

            var customer = new tb_customer();

            customer = DatabaseContext.Database.Query <tb_customer>(string.Format("select top(1) * from tb_customer where User_ID = {0};", transection.Customer_ID)).FirstOrDefault();

            var car = new tb_car();

            car = DatabaseContext.Database.Query <tb_car>(
                string.Format(@"SELECT top(1) t1.A_ID,Branch_ID,Car_ID,t2.*
                                    From tb_branch_car t1
                                    INNER join tb_car t2 on t1.Car_ID = t2.id
                                    WHERE t1.A_ID = {0};", transection.Car_Branch_ID)).FirstOrDefault();

            var optional = new List <tb_optional>();

            optional = DatabaseContext.Database.Fetch <tb_optional>(
                string.Format(@"select [Item_Type]
                                                      ,[Item_Price]
                                                      ,[Sub_Total]
                                                      ,[Vat_Total]
                                                      ,[Total]
                                                     ,t2.*
                                              FROM tb_transection_detail t1
                                              INNER JOIN tb_optional t2 on t1.Item_ID = t2.A_ID
                                              WHERE t1.Transection = {0};", transection.ID)).ToList();

            var pickuploc = new tb_branch();

            pickuploc = DatabaseContext.Database.Fetch <tb_branch>(
                string.Format(@"select top(1) * 
                                              FROM tb_branch
                                              WHERE A_ID = {0};", transection.PickUpLoc)).FirstOrDefault();
            var dropoffloc = new tb_branch();

            dropoffloc = DatabaseContext.Database.Fetch <tb_branch>(
                string.Format(@"select top(1) * 
                                              FROM tb_branch
                                              WHERE A_ID = {0};", transection.DropOffLoc)).FirstOrDefault();
            var price = new tb_car_price();

            price = DatabaseContext.Database.Fetch <tb_car_price>(
                string.Format(@"select top(1) * 
                                              FROM tb_car_price
                                              WHERE price_id = {0};", transection.Price_ID)).FirstOrDefault();

            transection.car             = car;
            transection.customer        = customer;
            transection.optional        = optional;
            transection.pickuplocation  = pickuploc;
            transection.dropofflocation = dropoffloc;
            transection.car_price       = price;

            return(transection);
        }
示例#2
0
        void UCCustomerAddOrEdit_SaveEvent(object sender, EventArgs e)  //数据保存
        {
            try
            {
                if (!CheckControlValue())
                {
                    return;
                }
                var sysSqlStrList = new List <SysSQLString>();

                var custSql = BuildCustomerSqlString();
                sysSqlStrList.Add(custSql.Item1);
                sysSqlStrList.AddRange(BuildContactRelation(custSql.Item2));
                sysSqlStrList.AddRange(BuildVehicleRelation(custSql.Item2));
                sysSqlStrList.AddRange(BuildVipMemberSqlString(custSql.Item2));

                //ucAttr.GetAttachmentSql(sysSqlStrList);   //保存附件时失败...目前保留此代码
                var opName = wStatus == WindowStatus.Edit ? "更新客户档案" : "新增客户档案";
                var result = DBHelper.BatchExeSQLStringMultiByTrans(opName, sysSqlStrList);
                if (result)
                {
                    var customer = new tb_customer();
                    customer.cust_id           = custSql.Item1.Param["cust_id"];
                    customer.cust_code         = custSql.Item1.Param["cust_code"];
                    customer.cust_name         = custSql.Item1.Param["cust_name"];
                    customer.cust_short_name   = custSql.Item1.Param["cust_short_name"];
                    customer.cust_quick_code   = custSql.Item1.Param["cust_quick_code"];
                    customer.cust_type         = custSql.Item1.Param["cust_type"];
                    customer.legal_person      = custSql.Item1.Param["legal_person"];
                    customer.enterprise_nature = custSql.Item1.Param["enterprise_nature"];
                    customer.cust_tel          = custSql.Item1.Param["cust_tel"];
                    customer.cust_fax          = custSql.Item1.Param["cust_fax"];
                    customer.cust_email        = custSql.Item1.Param["cust_email"];
                    customer.cust_phone        = custSql.Item1.Param["cust_phone"];
                    customer.cust_website      = custSql.Item1.Param["cust_website"];
                    customer.province          = custSql.Item1.Param["province"];
                    customer.city                  = custSql.Item1.Param["city"];
                    customer.county                = custSql.Item1.Param["county"];
                    customer.cust_address          = custSql.Item1.Param["cust_address"];
                    customer.zip_code              = custSql.Item1.Param["zip_code"];
                    customer.tax_num               = custSql.Item1.Param["tax_num"];
                    customer.indepen_legalperson   = custSql.Item1.Param["indepen_legalperson"];
                    customer.credit_rating         = custSql.Item1.Param["credit_rating"];
                    customer.credit_line           = Convert.ToInt32(custSql.Item1.Param["credit_line"]);
                    customer.credit_account_period = Convert.ToInt32(custSql.Item1.Param["credit_account_period"]);
                    customer.price_type            = custSql.Item1.Param["price_type"];
                    customer.billing_name          = custSql.Item1.Param["billing_name"];
                    customer.billing_address       = custSql.Item1.Param["billing_address"];
                    customer.billing_account       = custSql.Item1.Param["billing_account"];
                    customer.open_bank             = custSql.Item1.Param["open_bank"];
                    customer.bank_account          = custSql.Item1.Param["bank_account"];
                    customer.bank_account_person   = custSql.Item1.Param["bank_account_person"];
                    customer.cust_remark           = custSql.Item1.Param["cust_remark"];
                    customer.is_member             = custSql.Item1.Param["is_member"];
                    customer.member_number         = custSql.Item1.Param["member_number"];
                    customer.member_class          = custSql.Item1.Param["member_class"];
                    if (rdbis_member_y.Checked)
                    {
                        customer.member_period_validity = Convert.ToInt64(custSql.Item1.Param["member_period_validity"]);
                    }
                    customer.status        = custSql.Item1.Param["status"];
                    customer.enable_flag   = custSql.Item1.Param["enable_flag"];
                    customer.data_source   = custSql.Item1.Param["data_source"];
                    customer.cust_crm_guid = custSql.Item1.Param["cust_crm_guid"];

                    customer.accessories_discount = 0;
                    customer.workhours_discount   = 0;
                    customer.country             = custSql.Item1.Param["country"];
                    customer.indepen_legalperson = custSql.Item1.Param["indepen_legalperson"];
                    customer.market_segment      = custSql.Item1.Param["market_segment"];
                    customer.institution_code    = custSql.Item1.Param["institution_code"];
                    customer.com_constitution    = custSql.Item1.Param["com_constitution"];
                    customer.registered_capital  = custSql.Item1.Param["registered_capital"];
                    customer.vehicle_structure   = custSql.Item1.Param["vehicle_structure"];
                    customer.agency            = custSql.Item1.Param["agency"];
                    customer.sap_code          = custSql.Item1.Param["sap_code"];
                    customer.business_scope    = custSql.Item1.Param["business_scope"];
                    customer.ent_qualification = custSql.Item1.Param["ent_qualification"];


                    if (wStatus == WindowStatus.Edit)
                    {
                        customer.update_by   = custSql.Item1.Param["update_by"];
                        customer.update_time = Convert.ToInt64(custSql.Item1.Param["update_time"]);
                    }
                    else
                    {
                        customer.create_time = Convert.ToInt64(custSql.Item1.Param["create_time"]);
                        customer.create_by   = custSql.Item1.Param["create_by"];
                    }
                    var flag = DBHelper.WebServHandler(opName, EnumWebServFunName.UpLoadCustomer, customer);
                    if (String.IsNullOrEmpty(flag))
                    {
                        var contactSql = BuildContactRelation(custSql.Item2).ToArray();
                        foreach (var sysSqlString in contactSql)
                        {
                            if (!sysSqlString.Param.ContainsKey("cont_id"))
                            {
                                continue;
                            }
                            var contId = sysSqlString.Param["cont_id"];
                            var dt1    = DBHelper.GetTable("获取客户CRMID", "tb_customer", "*", String.Format("cust_id = '{0}'", customer.cust_id), "", "");
                            var dt     = DBHelper.GetTable("根据客户档案获取联系信息", "v_contacts", string.Format("*,{0} phone", EncryptByDB.GetDesFieldValue("cont_phone")), " cont_id = '" + contId + "'", "", "");
                            if (dt.DefaultView != null && dt.DefaultView.Count > 0)
                            {
                                var cont = new tb_contacts_ex
                                {
                                    cont_id         = CommonCtrl.IsNullToString(dt.DefaultView[0]["cont_id"]),
                                    cont_name       = CommonCtrl.IsNullToString(dt.DefaultView[0]["cont_name"]),
                                    cont_post       = CommonCtrl.IsNullToString(dt.DefaultView[0]["cont_post_name"]),
                                    cont_phone      = CommonCtrl.IsNullToString(dt.DefaultView[0]["phone"]),
                                    nation          = CommonCtrl.IsNullToString(dt.DefaultView[0]["nation_name"]),
                                    parent_customer = CommonCtrl.IsNullToString(dt1.DefaultView[0]["cust_crm_guid"]),
                                    //alter by 杨超逸
                                    //2014.12.26
                                    //宇通借口男女性别上传数据修改联系人时,性别传1(男)和2(女)
                                    //sex = CommonCtrl.IsNullToString(dt.DefaultView[0]["sex"]),
                                    sex = UpSex(dt.DefaultView[0]["sex"]),
                                    //alter end
                                    status           = CommonCtrl.IsNullToString(dt.DefaultView[0]["status"]),
                                    cont_post_remark = CommonCtrl.IsNullToString(dt.DefaultView[0]["post_remark"]),
                                    cont_crm_guid    = CommonCtrl.IsNullToString(dt.DefaultView[0]["cont_crm_guid"]),
                                    contact_type     = "01" //标识类型为联系人
                                };
                                var flag4Cont = DBHelper.WebServHandler(opName, EnumWebServFunName.UpLoadCcontact, cont);
                                if (String.IsNullOrEmpty(flag4Cont))
                                {
                                    //do something
                                }
                            }
                        }
                    }
                    MessageBoxEx.Show("保存成功!", "保存");
                    UCCustomerManager.BindPageData();
                    deleteMenuByTag(Tag.ToString(), UCCustomerManager.Name);
                }
                else
                {
                    MessageBoxEx.Show("保存失败!", "保存");
                }
            }
            catch (Exception ex)
            {
                MessageBoxEx.Show("保存失败!" + ex.Message, "提示");
            }
        }
示例#3
0
        [HttpGet] //payment status
        public ActionResult Result(RenderModel model, string id)
        {
            var sendmail = Request["sendmail"];
            var testmail = Request["testmail"];

            var rto = new Step4Model(CurrentPage);

            rto.Transection_ID = Convert.ToInt32(id);

            var transection = new dto_transection();

            transection = DatabaseContext.Database.Query <dto_transection>(string.Format("select top(1) * from tb_transection where ID = {0};", rto.Transection_ID)).FirstOrDefault();

            var customer = new tb_customer();

            customer = DatabaseContext.Database.Query <tb_customer>(string.Format("select top(1) * from tb_customer where User_ID = {0};", transection.Customer_ID)).FirstOrDefault();

            var car = new tb_car();

            car = DatabaseContext.Database.Query <tb_car>(
                string.Format(@"SELECT top(1) t1.A_ID,Branch_ID,Car_ID,t2.*
                                    From tb_branch_car t1
                                    INNER join tb_car t2 on t1.Car_ID = t2.id
                                    WHERE t1.A_ID = {0};", transection.Car_Branch_ID)).FirstOrDefault();

            var optional = new List <tb_optional>();

            optional = DatabaseContext.Database.Fetch <tb_optional>(
                string.Format(@"select [Item_Type]
                                                      ,[Item_Price]
                                                      ,[Sub_Total]
                                                      ,[Vat_Total]
                                                      ,[Total]
                                                     ,t2.*
                                              FROM tb_transection_detail t1
                                              INNER JOIN tb_optional t2 on t1.Item_ID = t2.A_ID
                                              WHERE t1.Transection = {0};", transection.ID)).ToList();

            var pickuploc = new tb_branch();

            pickuploc = DatabaseContext.Database.Fetch <tb_branch>(
                string.Format(@"select top(1) * 
                                              FROM tb_branch
                                              WHERE A_ID = {0};", transection.PickUpLoc)).FirstOrDefault();
            var dropoffloc = new tb_branch();

            dropoffloc = DatabaseContext.Database.Fetch <tb_branch>(
                string.Format(@"select top(1) * 
                                              FROM tb_branch
                                              WHERE A_ID = {0};", transection.DropOffLoc)).FirstOrDefault();
            var price = new tb_car_price();

            price = DatabaseContext.Database.Fetch <tb_car_price>(
                string.Format(@"select top(1) * 
                                              FROM tb_car_price
                                              WHERE price_id = {0};", transection.Price_ID)).FirstOrDefault();

            transection.car             = car;
            transection.customer        = customer;
            transection.optional        = optional;
            transection.pickuplocation  = pickuploc;
            transection.dropofflocation = dropoffloc;
            transection.car_price       = price;

            var textDetail = model.Content.GetProperty("textContent").Value.ToString();

            textDetail = textDetail.Replace("{name}", customer.Name + " " + customer.LName);
            textDetail = textDetail.Replace("{email}", customer.Email);
            textDetail = textDetail.Replace("{phone}", customer.Phone);

            textDetail = textDetail.Replace("{pricecode}", price.price_code);
            textDetail = textDetail.Replace("{adddate}", transection.Add_Date.ToString("yyyy-MM-dd hh:mm tt"));
            textDetail = textDetail.Replace("{pickuplocation}", pickuploc.Branch_Name);

            var status = transection.Status == "A" ? "Comfirm" : "Pending";

            textDetail = textDetail.Replace("{status}", status);

            var paytype = transection.Payment_Type == "N" ? "Online" : "At counter";

            textDetail = textDetail.Replace("{paytype}", paytype);

            textDetail = textDetail.Replace("{transectionno}", "#" + transection.Payment_Type + "" + transection.Transection_ID);

            textDetail = textDetail.Replace("{pickupdate}", transection.PickUpDatetime?.ToString("yyyy-MM-dd hh:mm tt"));
            textDetail = textDetail.Replace("{dropofftime}", transection.DropOffDatetime?.ToString("yyyy-MM-dd hh:mm tt"));
            textDetail = textDetail.Replace("{pickuplocation}", pickuploc.Branch_Name);
            textDetail = textDetail.Replace("{droplocation}", dropoffloc.Branch_Name);

            textDetail = textDetail.Replace("{discount}", transection.Discount_Total?.ToString("N2"));
            textDetail = textDetail.Replace("{subtotal}", transection.Sub_Total?.ToString("N2"));
            textDetail = textDetail.Replace("{vat}", transection.Vat_Total?.ToString("N2"));
            textDetail = textDetail.Replace("{total}", transection.Total_Price?.ToString("N2"));

            var totaltext = "";

            var carprice = price.price;

            var itemcar = string.Format(@"<tr>
                                  <td>{0}</td>
                                  <td>{1}</td>
                                  <td>{2}</td>
                                  <td>{3}</td>
                                </tr>"
                                        , car.name
                                        , carprice?.ToString("N2")
                                        , transection.Numdate
                                        , (carprice * transection.Numdate)?.ToString("N2"));

            var itemoption = "";

            foreach (var op in optional)
            {
                var opprice = op.Price;
                itemoption += string.Format(@"<tr>
                                  <td>{0}</td>
                                  <td>{1}</td>
                                  <td>{2}</td>
                                  <td>{3}</td>
                                </tr>"
                                            , op.Name
                                            , opprice.ToString("N2")
                                            , transection.Numdate
                                            , (opprice * transection.Numdate)?.ToString("N2"));
            }

            var itemdetail = @"<table style='width:100%' border='0'>
                                <tr>
                                  <td width='50%'><b>Description</b></td>
                                  <td><b>Rate</b></td>
                                  <td><b>Day(s)</b></td>
                                  <td><b>Total</b></td>
                                </tr>
                                 " + itemcar + @"
                                 " + itemoption + @"
                                 " + totaltext + @"
                            </table>";

            textDetail = textDetail.Replace("{detail}", itemdetail);

            ViewBag.text = textDetail;

            if (sendmail == "1")
            {
                SendEmail(customer.Email, "Your reservation details.", textDetail);
            }

            if (testmail == "1")
            {
                return(CurrentTemplate(rto));
            }

            return(Redirect("/booking/step4/" + rto.Transection_ID));
        }
示例#4
0
        /// <summary> 根据EnumWebServFunName枚举,调用WebService方法名称
        /// </summary>
        /// <param name="funcName">WebService方法名称</param>
        /// <param name="funcObject">WebService参数对象</param>
        /// <returns>返回约定内容</returns>
        public static SYSModel.RespFunStruct WebServHandler(SYSModel.EnumWebServFunName enumFunName, object funcObject)
        {
            SYSModel.RespFunStruct resp = new SYSModel.RespFunStruct();
            string msg = string.Empty;//错误消息

            switch (enumFunName)
            {
                #region 基础数据
            case SYSModel.EnumWebServFunName.UpLoadCcontact:
            {
                tb_contacts_ex model  = Newtonsoft.Json.JsonConvert.DeserializeObject <tb_contacts_ex>(funcObject.ToString());
                string         result = WebServ_YT_BasicData.UpLoadCcontact(model);
                resp = HandleErr(string.IsNullOrEmpty(result) ? "1" : "0", result);
                break;
            }

            case SYSModel.EnumWebServFunName.UpLoadCustomer:
            {
                tb_customer model  = Newtonsoft.Json.JsonConvert.DeserializeObject <tb_customer>(funcObject.ToString());
                string      result = WebServ_YT_BasicData.UpLoadCustomer(model);
                resp = HandleErr(string.IsNullOrEmpty(result) ? "1" : "0", result);
                break;
            }

            case SYSModel.EnumWebServFunName.UpLoadSercicePartStock:
            {
                Dictionary <string, int> dic = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, int> >(funcObject.ToString());
                bool flag = WebServ_YT_BasicData.UpLoadSercicePartStock(dic);
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.SearchContact:
            {
                DataTable dt = WebServ_YT_BasicData.SearchContact();
                if (dt == null || dt.Rows.Count == 0)
                {
                    resp.IsSuccess = "0";
                }
                else
                {
                    resp.IsSuccess = "1";
                }
                resp.Msg          = "";
                resp.ReturnObject = Newtonsoft.Json.JsonConvert.SerializeObject(dt);
                break;
            }

                #endregion
                #region 业务数据
            case SYSModel.EnumWebServFunName.UpLoadPartSale:
            {
                bool flag = WebServ_YT_BusiData.UpLoadPartSale(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.UpLoadServiceOrder:
            {
                bool flag = WebServ_YT_BusiData.UpLoadServiceOrder(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.UpLoadRepairBill:
            {
                bool flag = WebServ_YT_BusiData.UpLoadRepairBill(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.UpLoadPartPurchase:
            {
                bool flag = WebServ_YT_BusiData.UpLoadPartPurchase(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.UpLoadPartPutStore:
            {
                bool flag = WebServ_YT_BusiData.UpLoadPartPutStore(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.LoadOrderStatus:
            {
                bool flag = WebServ_YT_BusiData.LoadOrderStatus(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.LoadPartInStore:
            {
                bool flag = WebServ_YT_BusiData.LoadPartInStore(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.LoadPartPurchaseStauts:
            {
                bool flag = WebServ_YT_BusiData.LoadPartPurchaseStauts(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.LoadStoreCenter:
            {
                bool flag = WebServ_YT_BusiData.LoadStoreCenter(funcObject.ToString());
                resp = HandleErr(flag ?"1":"0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.QuerySettleAccounts:
            {
                bool flag = WebServ_YT_BusiData.QuerySettleAccounts(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.LoadServiceSettleStatus:
            {
                bool flag = WebServ_YT_BusiData.LoadServiceSettleStatus(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.UpPartReturnCreate:
            {
                bool flag = WebServ_YT_BusiData.UpPartReturnCreate(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.LoadPartRetureStatus:
            {
                bool flag = WebServ_YT_BusiData.LoadPartRetureStatus(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case SYSModel.EnumWebServFunName.UpPartRetureUpdate:
            {
                bool flag = WebServ_YT_BusiData.UpPartRetureUpdate(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

            case EnumWebServFunName.SearchOrderStatus:
            {
                string status = WebServ_YT_BusiData.SearchOrderStatus(funcObject.ToString());
                resp = HandleErr(string.IsNullOrEmpty(status) ? "0" : "1", status);
                break;
            }

            case EnumWebServFunName.UpLoadServiceSettleStatus:
            {
                bool flag = WebServ_YT_BusiData.UpLoadServiceSettleStatus(funcObject.ToString());
                resp = HandleErr(flag ? "1" : "0", flag.ToString());
                break;
            }

                #endregion
            default:
            {
                resp.IsSuccess = "0";
                resp.Msg       = "找不到对应的Wcf方法";
                break;
            }
            }

            return(resp);
        }