Пример #1
0
 protected override bool OnSaveData()
 {
     try
     {
         SysCompany sc = new SysCompany();
         sc.CoID      = txtCoID.Text;
         sc.CoName    = txtCoName.Text;
         sc.CoAddress = txtCoAddress.Text;
         sc.CoPost    = txtCoPost.Text;
         sc.CoTele    = txtCoTele.Text;
         sc.CoFax     = txtCoFax.Text;
         sc.CoEMail   = txtCoEMail.Text;
         sc.SortOrder = Convert.ToInt16(txtCoOrder.Text);
         sc.CoMan     = txtCoMan.Text;
         sc.CoStatus  = Convert.ToInt16(ddlCoStatus.SelectedValue);
         if (this.FState == FormState.New)
         {
             SqlBaseProvider.SaveSysCompany(sc, DataProviderAction.Create);
         }
         else
         {
             SqlBaseProvider.SaveSysCompany(sc, DataProviderAction.Update);
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #2
0
 public static List<SysCompanyMemberGrade> GetGradeList(SysCompany company)
 {
     var query = DB.Select( ).From<SysCompanyMemberGrade>( )
                   .Where(SysCompanyMemberGrade.CompanyIDColumn).IsEqualTo(company.Id)
                   .OrderAsc(SysCompanyMemberGrade.Columns.GradeOrder);
     return query.ExecuteTypedList<SysCompanyMemberGrade>( );
 }
        public ActionResult Create([Bind(Include = "ID,Name,Address,Logo,Domain,ContactName,Email,Phone,Fax,BillingInfo,IsActive,IsDeleted,CreatedBy,CreatedDate")] SysCompany sysCompany)
        {
            if (ModelState.IsValid)
            {
                if (Request.Files.Count > 0)
                {
                    var file = Request.Files[0];

                    if (file != null && file.ContentLength > 0)
                    {
                        var fileName = Path.GetFileName(file.FileName);
                        var path     = Path.Combine(Server.MapPath("~/Images/"), fileName);
                        file.SaveAs(path);

                        sysCompany.Logo = "/Images/" + fileName;
                    }
                }

                db.SysCompanies.Add(sysCompany);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(sysCompany));
        }
Пример #4
0
        public static void AddOrderConfirmLog(Order order, SysCompany company, int msnType, bool hasChgPrice, string desc)
        {
            DateTime dtNow = DateTime.Now;
            int id = order.Id;
            int isCurrent = msnType == 1 || hasChgPrice ? 1 : 0;
            if (msnType == 0)
            {
                AddProgressRow(order, dtNow, desc);
                desc = string.Format("您的餐点预计{0}分钟左右送达(仅供参考,高峰时段以实际送达时间为准)。", company.OrderElapsed);
                AddProgressRow(order, dtNow.AddSeconds(10), desc);
            }
            else if (msnType == 2)
            {
                desc = desc.Replace(company.CompanyName + "表示,", "");
                AddProgressRow(order, dtNow, desc);
                AddProgressRow(order, dtNow.AddSeconds(4), "订单已取消。");
            }
            else if (hasChgPrice)
            {

                AddProgressRow(order, dtNow, desc);
                string desc2 = string.Format("您的餐点预计{0}分钟左右送达(仅供参考,高峰时段以实际送达时间为准)。", company.OrderElapsed);
                AddProgressRow(order, dtNow.AddSeconds(7), "订单已确认,餐厅开始备餐。");
                AddProgressRow(order, dtNow.AddSeconds(10), desc2, isCurrent);
            }
            else
                AddProgressRow(order, dtNow, desc, isCurrent);
        }
Пример #5
0
 public static SysCompanyMemberGrade GetGradeByName(SysCompany company, string gradeName)
 {
     var query = DB.Select( ).From<SysCompanyMemberGrade>( )
                   .Where(SysCompanyMemberGrade.CompanyIDColumn).IsEqualTo(company.Id)
                   .And(SysCompanyMemberGrade.GradeNameColumn).IsEqualTo(gradeName.Trim( ));
     return ServiceProvider.Service.ExecuteSingle<SysCompanyMemberGrade>(query);
 }
Пример #6
0
 protected override void On_ActionEdit(object sender, EventArgs e)
 {
     company = CompanyBLL.GetCompanyByTel(txtCompanyTel.Value.Trim( ));
     SysAreaMansion mansion = MansionBLL.GetAreaMansionByName(txtMansion.Value);
     if (company == null)
         lblMessage.InnerHtml = "请输入商家正确的商家账号.";
     else if (mansion == null)
         lblMessage.InnerHtml = "你输入的大厦不存在.";
     else if (MansionBLL.CheckCompanyMansionExist(company.Id, mansion.Id, CompanyMansionId))
         lblMessage.InnerHtml = "此大厦已经属于商家送外卖范围.";
     else
     {
         SysCompanyMansion companyMansion = SysCompanyMansion.FetchByID(CompanyMansionId);
         if (companyMansion == null)
             companyMansion = new SysCompanyMansion( );
         companyMansion.MansionID = mansion.Id;
         companyMansion.CompanyID = company.Id;
         companyMansion.Save( );
         lblMessage.InnerHtml = "保存成功.";
         if (CompanyMansionId == 0)
         {
             On_ActionQuery(sender, e);
             txtCompanyTel.Value = "";
             return;
         }
     }
     On_ActionQuery(sender, e);
 }
Пример #7
0
 public static List<SysCompanyMemberGrade> GetGradeList(SysCompany company)
 {
     var query = DB.Select( ).From<SysCompanyMemberGrade>( )
                   .Where(SysCompanyMemberGrade.CompanyIDColumn).IsEqualTo(company.Id)
                   .OrderAsc(SysCompanyMemberGrade.Columns.GradeOrder);
     return ServiceProvider.Service.ExecuteAsCollection<SysCompanyMemberGrade>(query);
 }
        public ActionResult DeleteConfirmed(int id)
        {
            SysCompany sysCompany = db.SysCompanies.Find(id);

            db.SysCompanies.Remove(sysCompany);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: SysAdmin/SysCompanies/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SysCompany sysCompany = db.SysCompanies.Find(id);

            if (sysCompany == null)
            {
                return(HttpNotFound());
            }
            return(View(sysCompany));
        }
Пример #10
0
        /// <summary>
        /// 添加
        /// </summary>
        private void addCompany()
        {
            try
            {
                if (checkInput())
                {
                    SysCompany company = new SysCompany();

                    company.C_Code  = C_Code.Text;
                    company.C_Name  = C_Name.Text;
                    company.C_Phone = C_Phone.Text;
                    company.C_Fax   = C_Fax.Text;
                    company.C_Email = C_Email.Text;

                    company.C_Address = C_Address.Text;
                    company.C_Remark  = C_Remark.Text;

                    company.C_CreateBy   = C_CreateBy.Text;
                    company.C_CreateDate = C_CreateDate.Value;
                    company.C_UpdateBy   = null;
                    company.C_UpdateDate = null;

                    SysCompanyBLL companybll = new SysCompanyBLL();

                    if (companybll.Exists(company.C_Code))
                    {
                        untCommon.InfoMsg("公司编号已存在!");
                    }
                    else
                    {
                        if (companybll.Add(company) > 0)
                        {
                            untCommon.InfoMsg("添加成功!");
                            frmParent.loadData();
                        }
                        else
                        {
                            untCommon.InfoMsg("添加失败!");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                untCommon.ErrorMsg("公司管理添加数据异常:" + ex.Message);
            }
        }
Пример #11
0
        public JsonResult AddSysCompany([FromForm] SysCompany model)
        {
            var result            = new ResultJsonNoDataInfo();
            var respositoryResult = SysCompanyRespository.AddSysCompany(model);

            if (string.IsNullOrEmpty(respositoryResult))
            {
                result.Status = ResultConfig.Ok;
                result.Info   = ResultConfig.SuccessfulMessage;
            }
            else
            {
                result.Status = ResultConfig.Fail;
                result.Info   = string.IsNullOrEmpty(respositoryResult) ? ResultConfig.FailMessage : respositoryResult;
            }
            return(Json(result));
        }
Пример #12
0
 private void ShowCommandButton(string tblName, Order order, SysCompany company)
 {
     //不外送
     if (order.IsNonOut.HasValue && order.IsNonOut.Value)
         ShowWhenNonOut.Visible = true;
     else if (order.HasOutOfStock.Value && order.HasOutOfStock.Value && _status != OrderStatus.Canceled)
         ShowWhenOutOfStock.Visible = true;
     else
     {
         if (_status == OrderStatus.NotStart || _status == OrderStatus.Modified ||
             (order.MsnType.HasValue && order.MsnType == 3 && _status == OrderStatus.InProgress))
             ShowBeforConfirm.Visible = true;
         else if (_status == OrderStatus.InProgress)
             ShowAfterConfirm.Visible = true;
         else if (_status == OrderStatus.Canceled)
             ShowWhenOrderCanceled.Visible = true;
     }
 }
Пример #13
0
        private void getDetail()
        {
            try
            {
                SysCompanyBLL companybll = new SysCompanyBLL();
                SysCompany    company    = companybll.getDetail(PrimaryKey);

                C_Code.Text  = company.C_Code;
                C_Name.Text  = company.C_Name;
                C_Phone.Text = company.C_Phone;
                C_Fax.Text   = company.C_Fax;
                C_Email.Text = company.C_Email;

                C_Address.Text = company.C_Address;
                C_Remark.Text  = company.C_Remark;

                C_CreateBy.Text = company.C_CreateBy;
                C_UpdateBy.Text = company.C_UpdateBy;

                if (company.C_CreateDate.HasValue)
                {
                    C_CreateDate.Value = company.C_CreateDate.Value;
                }
                else
                {
                    C_CreateDate.Value = DateTime.Now;
                }

                if (company.C_UpdateDate.HasValue)
                {
                    C_UpdateDate.Value = company.C_UpdateDate.Value;
                }
                else
                {
                    C_UpdateDate.Value = DateTime.Now;
                    ;
                }
            }
            catch (Exception ex)
            {
                untCommon.ErrorMsg("公司管理加载数据异常:" + ex.Message);
            }
        }
Пример #14
0
        protected override bool OnLoadData(bool isLoad)
        {
            if ((etcMain.SelectedIndex == 1) && (String.IsNullOrEmpty(txtCoID.Text)))
            {
                MessageBox.Show("请返回列表选择需要进行修改的数据!", PublicConsts.PC_Tip);
                return(false);
            }

            if (dgvList.SelectedRows.Count != 1)
            {
                return(false);
            }

            try
            {
                txtCoID.Text = dgvList.SelectedRows[0].Cells["Co_ID"].Value.ToString();

                SysCompany sc = SqlBaseProvider.GetSysCompany(txtCoID.Text);

                txtCoName.Text    = sc.CoName;
                txtCoAddress.Text = sc.CoAddress;
                txtCoFax.Text     = sc.CoFax;
                txtCoTele.Text    = sc.CoTele;
                txtCoFax.Text     = sc.CoFax;
                txtCoEMail.Text   = sc.CoEMail;
                txtCoOrder.Text   = sc.SortOrder.ToString();
                txtCoPost.Text    = sc.CoPost;
                txtCoMan.CodeText = sc.CoMan;

                if (!String.IsNullOrEmpty(txtCoMan.CodeText))
                {
                    txtCoMan.NameText = SqlBaseProvider.GetManName(txtCoMan.CodeText);
                }

                CtrlHelper.SelectDropDownList(ddlCoStatus, sc.CoStatus.ToString());
            }
            catch (Exception ex)
            {
                Global.ShowSysError(ex);
            }

            return(true);
        }
Пример #15
0
 public static void GetCompanyOrderRankingInfo(SysCompany company, out int ranking, out int amount)
 {
     ranking = amount = 0;
     QueryCommand cmd = new QueryCommand(__CompanyOrderRankingQuery);
     cmd.AddParameter("@ID", company.Id, System.Data.DbType.Int32);
     cmd.AddParameter("@CompanyArea", company.CompanyLocation, System.Data.DbType.String);
     using (var dr = DataService.GetReader(cmd))
     {
         if (dr.Read( ))
         {
             ranking = Utilities.ToInt(dr["RowNum"]);
             amount = Utilities.ToInt(dr["Amount"]);
         }
     }
 }
Пример #16
0
 public static int GetCompanyOrderElapsedRankingInfo(SysCompany company)
 {
     QueryCommand cmd = new QueryCommand(__CompanyOrderElapsedRankingQuery);
     cmd.AddParameter("@ID", company.Id, System.Data.DbType.Int32);
     return Utilities.ToInt(DataService.ExecuteScalar(cmd));
 }
Пример #17
0
 public static decimal CalcRewardMemberPointForOrderMeal(Order order,SysCompany company)
 {
     return order.OrderSum.Value * (OrderMealRewardRate(company) / 100M);
 }
Пример #18
0
        public static bool OrderCompanyItem(SysCompany company, int itemID, string MemberPwd, string MemberFinger, out string message)
        {
            SysMemberItem mItem = SysMemberItem.FetchByID(itemID);
            if (mItem == null || company == null)
            {
                message = "参数错误";
                goto lbl_false;
            }
            if (mItem.CompanyID != company.Id)
            {
                message = "你不能结算不是本商家的优惠项目";
                goto lbl_false;
            }
            SysCompanyItem cItem = SysCompanyItem.FetchByID(mItem.CompanyItemID);
            if (cItem == null)
            {
                message = "参数错误";
                goto lbl_false;
            }
            SysMember user = SysMember.FetchByID(mItem.MemberID);
            if (user == null)
            {
                message = "会员不存在";
                goto lbl_false;
            }

            if (string.IsNullOrEmpty(MemberFinger) && string.IsNullOrEmpty(MemberPwd))
            {
                message = "请输入会员密码";
                goto lbl_false;
            }
            if (!UserBLL.CheckUserPwd(user, MemberPwd) &&
                 !UserBLL.CheckUserFinger(user, MemberFinger))
            {
                message = "会员密码或者指纹不正确!";
                goto lbl_false;
            }
            return SaveOrder(company, mItem, cItem, user, out message);
            lbl_false:
            return false;
        }
Пример #19
0
        public static bool ClickCompanyItem(SysCompany company, SysMember user, DateTime dtDate, SysCompanyItem item, out int memberItemID, out string message)
        {
            memberItemID = 0;
            if (item == null || user == null)
            {
                message = "参数错误!";
                goto lbl_end;
            }

            if (item.ItemClicked >= item.ItemAmount)
            {
                message = "已经达到了最大可{ItemType}的数量";
                goto lbl_end;
            }
            //check ItemLimitOnce
            if (CheckCompanyItemOnceLimit(company.Id, user.Id))
            {
                message = ItemCheckResult[-3];
                goto lbl_end;
            }
            decimal userLastOrderSum = UserBLL.GetUserLastMonthOrderSum(user.Id);
            int result = CompanyItemBLL.ExecuteCheckFunc(user.Id, item.ItemID, userLastOrderSum);
            if (result < 0)
            {
                message = ItemCheckResult.ContainsKey(result) ? ItemCheckResult[result] : "你无权{ItemType}此优惠项目!";
                goto lbl_end;
            }
            //判断会员积分是否足够
            decimal point = DB.Select(SysMember.Columns.MemberBalance).From<SysMember>( )
                              .Where(SysMember.IdColumn).IsEqualTo(user.Id)
                              .ExecuteScalar<decimal>( );
            if (item.ItemPoint.HasValue && point < item.ItemPoint.Value)
            {
                message = "您的账户积分余额不足,无法{ItemType}^_^";
                goto lbl_end;
            }
            SysMemberItem data = new SysMemberItem
            {
                CompanyID = item.CompanyID,
                CompanyItemID = item.ItemID,
                ItemDate = dtDate,
                OrderDate = DateTime.Now,
                MemberID = user.Id,
                OrderSum = userLastOrderSum,
                ItemPoint = item.ItemPoint,
                ItemStatus = (int)MemberCompanyItemStatus.InProgress,
                SetDate = null,
                IsCanModifiedDate = true,
                PaymentID = 0,
                OrderID = 0
            };
            TransactionScope ts = new TransactionScope( );
            SharedDbConnectionScope ss = new SharedDbConnectionScope( );
            try
            {
                if (item.ItemPoint.HasValue && item.ItemPoint.Value > 0)
                {
                    Payment p = new Payment
                    {
                        PaymentCode = string.Empty,
                        PaymentCompanyID = item.CompanyID,
                        PaymentDate = data.OrderDate.Value,
                        PaymentEmail = string.Empty,
                        PaymentMemberID = user.Id,
                        PaymentMemo = string.Format("抢购【{0}】的优惠项目,并使用{1:0.00}个积分消费", company.CompanyName, item.ItemPoint.Value),
                        PaymentOrderID = 0,
                        PaymentStatus = 2,
                        PaymentSum = -item.ItemPoint.Value,
                        PaymentType = (int)PaymentType.CompanyItem
                    };
                    p.Save( );
                    data.PaymentID = p.Id;
                }
                data.Save( );
                item.ItemClicked = Utilities.ToInt(item.ItemClicked) + 1;
                item.Save( );
                OrderBLL.UpdateBalance( );
                ts.Complete( );
                message = "{ItemType}成功";
                memberItemID = data.ItemID;
                return true;
            }
            catch (Exception ex)
            {
                message = "{ItemType}失败:" + ex.Message;
                Logging.Log("CompanyItemBLL->ClickCompanyItem", ex, true);
            }
            finally
            {
                ss.Dispose( );
                ts.Dispose( );
            }
            lbl_end:
            return false;
        }
Пример #20
0
        protected override void On_ActionEdit(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtMenuName.Text.Trim()))
            {
                lblMessage.InnerHtml = "请输入菜单名称.";
                return;
            }

            int dirID = Utilities.ToInt(Request.Params[ddlDirs.UniqueID]);
            if (dirID <= 0)
            {
                lblMessage.InnerHtml = "请选择菜单的菜品系列.";
                return;
            }
            SysTakeawayDirectory dir = SysTakeawayDirectory.FetchByID(dirID);
            if (dir == null)
            {
                lblMessage.InnerHtml = "请选择菜单的菜品系列.";
                return;
            }
            _company = SysCompany.FetchByID(dir.CompanyID);
            SysTakeawayMenu menu = SysTakeawayMenu.FetchByID(MenuId);
            var price = Utilities.ToDecimal(txtPrice.Text);
            if (menu == null)
            {
                menu = new SysTakeawayMenu( );
                menu.Code = null;
            }
            else if (menu.Price.HasValue && price != menu.Price.Value)
            {
                CompanyItemBLL.UpdateCompanyItemSum(MenuId, price, menu.Price.Value);
            }
            menu.Price = price;
            menu.Name = txtMenuName.Text.Trim( );
            menu.DirID = dir.Id;
            menu.CompanyID = dir.CompanyID;
            menu.IsDeleted = false;

            menu.IsOutOfStock = rbOutOfStock.SelectedValue == "1";
            if (menu.IsOutOfStock.Value)
                menu.OutOfStockDate = DateTime.Now;
            else
                menu.OutOfStockDate = null;
            menu.Save( );
            if (string.IsNullOrEmpty(menu.Code))
            {
                menu.Code = menu.Id.ToString();
                menu.Save();
            }
            _company.MenuDate = DateTime.Now;
            _company.Save( );
            lblMessage.InnerHtml = "保存成功";
            if (MenuId == 0)
            {
                On_ActionQuery(sender, e);
                ddlDirs.ClearSelection( );
                txtCompanyTel.Value = string.Empty;
                txtPrice.Text = string.Empty;
                txtMenuName.Text = string.Empty;
                rbOutOfStock.SelectedValue = "0";
            }
            else
                On_ActionQuery(sender, e);
        }
Пример #21
0
 public static bool DeleteMemberOrder(int orderId, SysCompany company, out string message)
 {
     message = string.Empty;
     if (company == null)
     {
         message = "参数错误";
         goto lbl_false;
     }
     Order order = DB.Select( ).From<Order>( )
                     .Where(Order.IdColumn).IsEqualTo(orderId)
                     .And(Order.OrderSellerIDColumn).IsEqualTo(company.Id)
                     .And(Order.OrderTypeColumn).IsEqualTo((int)OrderType.Common)
                     .ExecuteSingle<Order>( );
     if (order == null)
     {
         message = "消费记录不存在!";
         goto lbl_false;
     }
     if (order.OrderMemberID != company.Id && !CheckCanOrder(order.OrderDate, company.Id))
     {
         message = "已经结算的消费记录不能删除";
         goto lbl_false;
     }
     //处理消费赠送积分
     Payment p1 = null;
     if (order.OrderPoint.HasValue && order.OrderPoint.Value > 0)
     {
         p1 = DB.Select( ).From<Payment>( )
                .Where(Payment.PaymentOrderIDColumn).IsEqualTo(order.Id)
                .And(Payment.PaymentCompanyIDColumn).IsEqualTo(company.Id)
                .And(Payment.PaymentCodeColumn).IsEqualTo(order.OrderCode)
                .And(Payment.PaymentTypeColumn).IsEqualTo((int)PaymentType.ConsumeGive)
                .ExecuteSingle<Payment>( );
     }
     //处理消费积分支付
     Payment p2 = null;
     if (order.OrderPayPoint.HasValue && order.OrderPayPoint.Value > 0)
     {
         p2 = DB.Select( ).From<Payment>( )
                .Where(Payment.PaymentOrderIDColumn).IsEqualTo(order.Id)
                .And(Payment.PaymentCompanyIDColumn).IsEqualTo(company.Id)
                .And(Payment.PaymentCodeColumn).IsEqualTo(order.OrderCode)
                .And(Payment.PaymentTypeColumn).IsEqualTo((int)PaymentType.Mortgage)
                .ExecuteSingle<Payment>( );
     }
     //处理消费储值支付
     PaymentCash payCash = null;
     SysMemberCash cash = null;
     if (order.OrderPayCash.HasValue && order.OrderPayCash.Value > 0)
     {
         payCash = DB.Select( ).From<PaymentCash>( )
                     .Where(PaymentCash.PaymentOrderIDColumn).IsEqualTo(order.Id)
                     .And(PaymentCash.PaymentCashCompanyIDColumn).IsEqualTo(company.Id)
                     .And(PaymentCash.PaymentCashCodeColumn).IsEqualTo(order.OrderCode)
                     .And(PaymentCash.PaymentTypeColumn).IsEqualTo((int)PaymentCashType.Mortgage)
                     .ExecuteSingle<PaymentCash>( );
         cash = DB.Select( ).From<SysMemberCash>( )
                  .Where(SysMemberCash.CashCompanyIDColumn).IsEqualTo(company.Id)
                  .And(SysMemberCash.CashOrderIDColumn).IsEqualTo(order.Id)
                  .And(SysMemberCash.CashSumColumn).IsEqualTo(-order.OrderPayCash.Value)
                  .ExecuteSingle<SysMemberCash>( );
     }
     //处理推荐奖励
     SysMemberReward r = DB.Select( ).From<SysMemberReward>( )
                           .Where(SysMemberReward.OrderIDColumn).IsEqualTo(order.Id)
                           .ExecuteSingle<SysMemberReward>( );
     Payment p3 = null;
     if (r != null)
         p3 = Payment.FetchByID(r.PaymentID);
     //执行操作
     Order.Delete(order.Id);
     if (p1 != null)
         Payment.Delete(p1.Id);
     if (p2 != null)
         Payment.Delete(p2.Id);
     if (cash != null)
         SysMemberCash.Delete(cash.CashID);
     if (payCash != null)
         PaymentCash.Delete(payCash.Id);
     if (r != null)
         SysMemberReward.Delete(r.RewardID);
     if (p3 != null)
         Payment.Delete(p3.Id);
     message = "删除成功";
     return true;
     lbl_false:
     return false;
 }
Пример #22
0
 private static bool CheckOrder(DataTable dt, Order order, SysCompany company)
 {
     dt.CaseSensitive = true;
     DateTime dtNow = DateTime.Now;
     if (order == null)
     {
         AppendProgressRow(dt, dtNow, dtNow, dtNow, "订单不存在.");
         return false;
     }
     if (company == null)
     {
         AppendProgressRow(dt, dtNow, dtNow, dtNow, "商家不存在.");
         return false;
     }
     if (Formatter.ToEnum<OrderType>(order.OrderType.Value) == OrderType.Common)
     {
         AppendProgressRow(dt, dtNow, dtNow, dtNow, "此订单不是快餐店订单.");
         return false;
     }
     if (AppContextBase.Context.User.Id != order.OrderMemberID)
     {
         AppendProgressRow(dt, dtNow, dtNow, dtNow, "你无权查看其他会员的订单.");
         return false;
     }
     dt.CaseSensitive = false;
     return true;
 }
Пример #23
0
 public static void InitOrderLogProgress(Order order, SysCompany company)
 {
     DateTime dtDate = order.OrderDate;
     AddProgressRow(order, dtDate, "订单已生成。");
     AddProgressRow(order, dtDate.AddSeconds(10), "乐多分系统正在帮您下单。");
     AddProgressRow(order, dtDate.AddSeconds(31), "餐厅正在确认您的订单内容。");
 }
Пример #24
0
 void formView_OnValidate(string columnName, Controls.UcFormView.FormViewRow viewRow)
 {
     switch (columnName)
     {
         case "ItemTitle":
             Controls.UcFormView.FormViewRow companyTelRow = formView.GetViewRow("CompanyTel");
             if (companyTelRow != null)
             {
                 if (string.IsNullOrEmpty(companyTelRow.Value))
                 {
                     companyTelRow.ValidateMessage = "请输入商家账号";
                     viewRow.ValidateMessage = "&nbsp;";
                     break;
                 }
                 company = CompanyBLL.GetCompanyByTel(companyTelRow.Value);
                 if (company == null)
                 {
                     viewRow.ValidateMessage = "商家账号不存在!";
                     break;
                 }
             }
             if (string.IsNullOrEmpty(viewRow.Value))
                 viewRow.ValidateMessage = "优惠信息不能为空!";
             break;
         case "ItemAmount":
             int amount = Utilities.ToInt(viewRow.Value);
             if (amount <= 0)
                 viewRow.ValidateMessage = "优惠数量必须是大于零的整数";
             break;
         case "AreaDepth":
             string depth = string.Empty;
             depth = AreaSelector.SelectedArea3;
             if (string.IsNullOrEmpty(depth))
                 viewRow.ValidateMessage = "请选择优惠覆盖区域";
             viewRow.Value = depth;
             break;
         case "ItemSum":
             decimal d = Utilities.ToDecimal(viewRow.Value);
             if (d <= 0)
                 viewRow.ValidateMessage = "兑换额度必须要大于零.";
             break;
         case "ItemLimit":
             int n;
             if (!string.IsNullOrEmpty(viewRow.Value) && (!int.TryParse(viewRow.Value, out n) || n < 0))
                 viewRow.ValidateMessage = "限抢购次数只能是非负数";
             break;
         case "ItemPoint":
             decimal dPoint = Utilities.ToDecimal(viewRow.Value);
             if (dPoint <= 0)
                 viewRow.ValidateMessage = "抢购积分不能小于零.";
             break;
         case "ItemDate":
             DateTime dtBegin, dtEnd;
             if (!DateTime.TryParse(viewRow.Value, out dtBegin))
             {
                 viewRow.ValidateMessage = "请输入有效的开始日期";
                 break;
             }
             Controls.UcFormView.FormViewRow rowEndDate = formView.GetViewRow(SysCompanyItem.ItemEndDateColumn);
             if (!DateTime.TryParse(rowEndDate.Value, out dtEnd) || dtEnd < dtBegin)
             {
                 rowEndDate.ValidateMessage = "请输入有效的结束日期";
             }
             break;
     }
 }
Пример #25
0
 public static void RewardMemberPointForOrderMeal(SysMember user, SysCompany company, Order order)
 {
     if (Formatter.ToEnum<OrderType>(order.OrderType.Value) != OrderType.OrderMeal)
         return;
     decimal point = CalcRewardMemberPointForOrderMeal(order,company);
     if (point <= 0)
         return;
     string memo = "在【{0}】订餐消费{1:0.00}元,您获奖励{2:0.00}个积分";
     //处理消费赠送积分
     Payment p = OrderMealBLL.GetOrderMealPayment(order, order.OrderMemberID);
     if (p == null)
         p = new Payment
         {
             PaymentDate = order.OrderDate,
             PaymentCode = order.OrderCode,
             PaymentCompanyID = UserBLL.MainCompanyAccount.Id,
             PaymentEmail = string.Empty,
             PaymentMemberID = user.Id,
             PaymentMemo = string.Format(memo, company.CompanyName, order.OrderSumOk, point),
             PaymentOrderID = order.Id,
             PaymentStatus = 1,
             PaymentSum = point,
             PaymentType = (int)PaymentType.ConsumeGive
         };
     else
     {
         p.PaymentMemo = string.Format(memo, company.CompanyName, order.OrderSumOk, point);
         p.PaymentSum = point;
     }
     p.Save( );
     UpdateOrderPoint(order.Id, point);
     RewardMemberPoint(user, order);
     //r.PaymentID = p.Id;
     //r.ValidateWhenSaving = false;
     //r.Save( );
 }
Пример #26
0
 public static CompanyRateCollection GetCompanyRates(SysCompany company)
 {
     CompanyRateCollection _companyRates = new CompanyRateCollection( );
     string sCompanyRate = string.IsNullOrEmpty(company.CompanyRate) ? string.Empty : company.CompanyRate.Replace(" ", string.Empty);
     decimal d = 0;
     foreach (string rate in sCompanyRate.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
     {
         if (decimal.TryParse(rate, out d) && d >= 0)
         {
             _companyRates.Add(d);
         }
     }
     return _companyRates;
 }
Пример #27
0
 public static string GetCompanyTypeAsCol(SysCompany company)
 {
     return string.Format("{0} as {1}", company.CompanyType, SysCompany.Columns.CompanyType);
 }
Пример #28
0
        public int Edit(SysCompany company)
        {
            try
            {
                string sql = @"UPDATE [Sys_Company]
   SET [C_Name] = @C_Name
      ,[C_Phone] = @C_Phone
      ,[C_Fax] = @C_Fax
      ,[C_Email] = @C_Email
      ,[C_Address] = @C_Address
      ,[C_Remark] = @C_Remark
      ,[C_CreateBy] = @C_CreateBy
      ,[C_CreateDate] = @C_CreateDate
      ,[C_UpdateBy] = @C_UpdateBy
      ,[C_UpdateDate] = @C_UpdateDate
 WHERE [C_Code] = @C_Code";

                List <SqlParameter> parameters = new List <SqlParameter>();
                parameters.Add(new SqlParameter("@C_Code", company.C_Code));
                parameters.Add(new SqlParameter("@C_Name", company.C_Name));

                if (!string.IsNullOrEmpty(company.C_Phone))
                {
                    parameters.Add(new SqlParameter("@C_Phone", company.C_Phone));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Phone", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Fax))
                {
                    parameters.Add(new SqlParameter("@C_Fax", company.C_Fax));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Fax", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Email))
                {
                    parameters.Add(new SqlParameter("@C_Email", company.C_Email));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Email", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Address))
                {
                    parameters.Add(new SqlParameter("@C_Address", company.C_Address));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Address", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Remark))
                {
                    parameters.Add(new SqlParameter("@C_Remark", company.C_Remark));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Remark", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_CreateBy))
                {
                    parameters.Add(new SqlParameter("@C_CreateBy", company.C_CreateBy));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_CreateBy", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_UpdateBy))
                {
                    parameters.Add(new SqlParameter("@C_UpdateBy", company.C_UpdateBy));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_UpdateBy", DBNull.Value));
                }


                if (company.C_CreateDate.HasValue)
                {
                    parameters.Add(new SqlParameter("@C_CreateDate", company.C_CreateDate));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_CreateDate", DBNull.Value));
                }

                if (company.C_UpdateDate.HasValue)
                {
                    parameters.Add(new SqlParameter("@C_UpdateDate", company.C_UpdateDate));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_UpdateDate", DBNull.Value));
                }


                SqlHelper db  = new SqlHelper();
                var       row = db.ExecuteNonQuery(sql, parameters.ToArray());

                return(row);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #29
0
 public static bool CanClickCompanyMealItem(SysCompany company, SysMember user, SysCompanyItem item, int orderId, out decimal userLastOrderSum, out string message)
 {
     userLastOrderSum = 0;
     if (item == null || user == null || company.Id != item.CompanyID)
     {
         message = "参数错误!";
         goto lbl_end;
     }
     userLastOrderSum = UserBLL.GetUserAvgOrderSum(user.Id);
     int result = CompanyItemBLL.ExecuteCheckFunc(user.Id, item.ItemID, userLastOrderSum, orderId);
     if (result < 0)
     {
         message = ItemCheckResult.ContainsKey(result) ? ItemCheckResult[result] : "你无权抢购此优惠项目!";
         goto lbl_end;
     }
     //判断会员积分是否足够
     decimal point = DB.Select(SysMember.Columns.MemberBalance).From<SysMember>( )
                       .Where(SysMember.IdColumn).IsEqualTo(user.Id)
                       .ExecuteScalar<decimal>( );
     if (item.ItemPoint.HasValue && point < item.ItemPoint.Value)
     {
         message = "您的账户积分不足,无法抢购此优惠";
         goto lbl_end;
     }
     message = string.Empty;
     return true;
     lbl_end:
     return false;
 }
Пример #30
0
 public static bool FlushCompanyFunc(SysCompany company, CompanyType notAllowType)
 {
     CompanyType companyType = Formatter.ToEnum<CompanyType>(company.CompanyType);
     if (notAllowType == companyType)
     {
         HttpContext.Current.Response.Write("商家类型不允许使用此功能");
         AppContextBase.Page.Visible = false;
         //AppContextBase.Page.Response.Flush( );
         //AppContextBase.Page.Response.End( );
         return true;
     }
     return false;
 }
Пример #31
0
 public static void ClickCompanyMealItem(SysCompany company, SysMember user, SysCompanyItem item, Order order, decimal userLastOrderSum)
 {
     Payment p = null;
     Func<SysMemberItem> fnNew = ( ) =>
     {
         item.ItemClicked = Utilities.ToInt(item.ItemClicked) + 1;
         item.Save( );
         if (item.ItemPoint.HasValue && item.ItemPoint.Value > 0)
         {
             p = new Payment
             {
                 PaymentCode = string.Empty,
                 PaymentCompanyID = item.CompanyID,
                 PaymentDate = order.OrderDate,
                 PaymentEmail = string.Empty,
                 PaymentMemberID = user.Id,
                 PaymentOrderID = order.Id,
                 PaymentStatus = 1,
                 PaymentType = (int)PaymentType.CompanyItem
             };
         }
         return new SysMemberItem( ) { PaymentID = 0, CompanyID = company.Id, CompanyItemID = item.ItemID, MemberID = user.Id, OrderID = order.Id };
     };
     Func<SysMemberItem> fnOld = ( ) =>
         {
             var memberItem = GetMemberMealItemByOrderId(order.Id, user.Id);
             if (memberItem != null)
                 p = Payment.FetchByID(memberItem.PaymentID);
             return memberItem;
         };
     SysMemberItem data = fnOld( ) ?? fnNew( );
     data.ItemDate = order.OrderDate;
     data.OrderDate = order.OrderDate;
     data.OrderSum = userLastOrderSum;
     data.ItemPoint = item.ItemPoint;
     data.ItemStatus = (int)MemberCompanyItemStatus.InProgress;
     data.SetDate = null;
     data.IsCanModifiedDate = true;
     if (p != null)
     {
         if (item.ItemPoint.HasValue && item.ItemPoint.Value > 0)
         {
             p.PaymentMemo = string.Format("抢购【{0}】的优惠项目,并使用{1:0.00}个积分消费", company.CompanyName, item.ItemPoint);
             p.PaymentSum = -item.ItemPoint.Value;
             p.Save( );
             data.PaymentID = p.Id;
         }
         else
         {
             Payment.Delete(p.Id);
             data.PaymentID = 0;
         }
     }
     data.Save( );
 }
Пример #32
0
 //积分比例
 public static decimal GetCompanyDefaultRate(SysCompany company)
 {
     var rates = GetCompanyRates(company);
     if (rates.Count > 0)
     {
         return rates[0].Rate / 100;
     }
     return 0;
 }
Пример #33
0
 private static bool SaveOrder(SysCompany company, SysMemberItem mItem, SysCompanyItem cItem, SysMember user, out string message)
 {
     message = string.Empty;
     //Order order = new Order
     //{
     //    OrderCode = OrderBLL.GetOrderCode(company),
     //    OrderCard = string.Empty,
     //    OrderDate = DateTime.Now,
     //    OrderDateDeliver = DateTime.Now,
     //    OrderDateUpload = DateTime.Now,
     //    OrderMemberID = user.Id,
     //    OrderMemo = string.Empty,
     //    OrderProduct = "优惠消费",
     //    OrderQty = 0,
     //    OrderRateSale = 0,
     //    OrderRate = 0,
     //    OrderPoint = 0,
     //    OrderSellerID = company.Id,
     //    OrderStatus = 1,
     //    OrderSum = cItem.ItemSum,
     //    OrderSumOk = cItem.ItemSum,
     //    OrderPay = 0,
     //    OrderPayCash = 0,
     //    OrderPayPoint = mItem.ItemPoint,
     //    OrderType = (int)OrderType.CompanyItem
     //};
     TransactionScope ts = new TransactionScope( );
     SharedDbConnectionScope ss = new SharedDbConnectionScope( );
     try
     {
         //order.Save( );
         //if (mItem.ItemPoint.HasValue && mItem.ItemPoint.Value > 0)
         //{
         //    new Payment
         //    {
         //        PaymentCode = order.OrderCode,
         //        PaymentCompanyID = company.Id,
         //        PaymentDate = order.OrderDate,
         //        PaymentEmail = string.Empty,
         //        PaymentMemberID = user.Id,
         //        PaymentMemo = string.Format("{0}抢购{1}的优惠项目,并且使用{2}个积分抵扣", user.MemberPhoneNumber, company.CompanyName, -mItem.ItemPoint.Value),
         //        PaymentOrderID = order.Id,
         //        PaymentStatus = 1,
         //        PaymentSum = -mItem.ItemPoint.Value,
         //        PaymentType = (int)PaymentType.CompanyItem
         //    }.Save( );
         //}
         //如果是联盟商家则更新积分状态
         CompanyType companyType = Formatter.ToEnum<CompanyType>(company.CompanyType);
         Payment p = Payment.FetchByID(mItem.PaymentID.Value);
         if (p != null)
         {
             p.PaymentStatus = 1;
             p.Save( );
         }
         mItem.ItemStatus = (int)MemberCompanyItemStatus.Completed;
         mItem.SetDate = DateTime.Now;
         mItem.Save( );
         cItem.ItemUsed = Utilities.ToInt(cItem.ItemUsed) + 1;
         cItem.Save( );
         OrderBLL.UpdateBalance( );
         ts.Complete( );
         message = string.Format("结算成功,{0}使用{1}个积分购得{2}", user.MemberFullname, mItem.ItemPoint, cItem.ItemTitle);
         return true;
     }
     catch (Exception ex)
     {
         message = ex.Message;
         return false;
     }
     finally
     {
         ss.Dispose( );
         ts.Dispose( );
     }
 }
Пример #34
0
 public static object GetCompanyInfo(SysCompany company)
 {
     int ranking1, ranking2;
     int amount;
     GetCompanyOrderRankingInfo(company, out ranking1, out amount);
     ranking2 = GetCompanyOrderElapsedRankingInfo(company);
     var result = new
     {
         OrderElapsed = company.OrderElapsed,
         Ranking2 = ranking2,
         CompanyWorkTime = company.CompanyWorkTime,
         OnSetSum = company.OnSetSum,
         IsSuspend = company.IsSuspend,
         OrderMaxAmount = company.OrderMaxAmount,
         CompanyProvince = company.CompanyProvince,
         ServiceSum = company.ServiceSum,
         Ranking1 = ranking1,
         Amount = amount,
         Area = company.CompanyLocation
     };
     return result;
 }
Пример #35
0
 public static SysMember CompanyToMember(SysCompany company)
 {
     var query = DB.Select().From<SysMember>()
       .Where(SysMember.CompanyIdColumn).IsEqualTo(company.Id);
     SysMember user = query.ExecuteSingle<SysMember>();
     if (user != null)
     {
         if (user.DirtyColumns.Count > 0)
             user.MarkClean();
         user.MemberPhoneNumber = company.CompanyTel;
         user.MarkOld();
         user.MemberEmail = company.CompanyEmail;
         user.MemberAddress1 = company.CompanyAddress;
         user.MemberCity = company.CompanyCity;
         user.MemberLocation = company.CompanyLocation;
         user.AreaDepth1 = company.AreaDepth;
         user.AreaDepth2 = null;
         user.AreaDepth3 = null;
         user.AreaModifyDate = null;
         user.MemberArea = company.CompanyArea;
         user.MemberStatus = company.CompanyStatus;
     }
     else
     {
         user = new SysMember();
         user.MarkNew();
         user.MemberAddress1 = company.CompanyAddress;
         user.MemberAddress2 = string.Empty;
         user.MemberBalance = 0;
         user.MemberBalanceCash = 0;
         user.MemberBirthday = null;
         user.MemberCity = company.CompanyCity;
         user.MemberCompanyID = company.Id;
         user.MemberCountry = null;
         user.MemberDate = company.CompanyDate;
         user.MemberEmail = company.CompanyEmail;
         user.MemberFinger = null;
         user.MemberFullname = company.CompanyName;
         user.MemberGrade = 0;
         user.MemberMemo = null;
         user.MemberPhoneNumber = company.CompanyTel;
         user.MemberPid = 0;
         user.MemberPwd = company.CompanyPwd;
         user.MemberRoleId = 0;
         user.MemberSex = null;
         user.MemberState = null;
         user.MemberStatus = company.CompanyStatus;
         user.MemberSum = 0;
         user.MemberZip = null;
         user.LastLoginDate = null;
         user.LastLoginSubSys = 0;
         user.AdminRoleId = 0;
         user.CompanyId = company.Id;
         user.MemberLocation = company.CompanyLocation;
         user.AreaDepth1 = company.AreaDepth;
         user.AreaDepth2 = null;
         user.AreaDepth3 = null;
         user.AreaModifyDate = null;
         user.MemberArea = company.CompanyArea;
         user.CompanyRoleId = UserBLL.GetDefaultUseRole((int)SubSystem.Company);
     }
     return user;
 }
Пример #36
0
 public static decimal OrderMealRewardRate(SysCompany company)
 {
     if (company != null && (company.IsPoint ?? (bool?)true).Value)
         return 3M;
     else
         return 0;
 }
Пример #37
0
 public static DataTable GetCompanyInfoDataTable(SysCompany company)
 {
     if (company == null)
         return null;
     DataTable dtUserInfo = SubSonic.Utilities.EntityFormat.GetUserInfoTable();
     //TODO add userinfo
     dtUserInfo.Rows.Add(ResBLL.GetColumnRes(SysCompany.CompanyTelColumn)
                         , company.CompanyTel);
     dtUserInfo.Rows.Add(ResBLL.GetColumnRes(SysCompany.CompanyNameColumn)
                         , company.CompanyName);
     dtUserInfo.Rows.Add(ResBLL.GetColumnRes(SysCompany.CompanyCodeColumn)
                         , company.CompanyCode);
     //dtUserInfo.Rows.Add(AppRes.GetColumnRes(SysCompany.CompanyPhoneColumn)
     //                    , company.CompanyPhone);
     dtUserInfo.Rows.Add(ResBLL.GetColumnRes(SysCompany.CompanySaleSumColumn)
                         , GetCompanyMonthSaleSum(company.Id).ToString("##########0.00"));
     dtUserInfo.Rows.Add(ResBLL.GetColumnRes(SysCompany.CompanyBalanceCashColumn)
                         , company.CompanyBalanceCash);
     dtUserInfo.Rows.Add(ResBLL.GetColumnRes(SysCompany.CompanyBalanceColumn)
                         , company.CompanyBalance);
     //dtUserInfo.Rows.Add(AppRes.GetColumnRes(SysCompany.CompanyAddressColumn)
     //                    , company.CompanyAddress);
     return dtUserInfo;
 }
Пример #38
0
        public static SysMember GetOrNewMemberByPhoneNumber(string phoneNumber, SysCompany company, out bool isNew)
        {
            SysMember user = GetUserByPhoneNum(phoneNumber);
            isNew = user == null;
            if (isNew)
            {
                user = new SysMember()
                {
                    MemberPhoneNumber = phoneNumber,
                    MemberPwd = phoneNumber.Substring(phoneNumber.Length - 6, 6),
                    MemberAddress1 = null,
                    MemberAddress2 = null,
                    MemberBalance = 0,
                    MemberBalanceCash = 0,
                    MemberBirthday = null,
                    MemberCity = 0,
                    MemberCompanyID = MainAccount.CompanyId,
                    MemberCountry = "中国",
                    MemberDate = DateTime.Now,
                    MemberEmail = null,
                    MemberFinger = null,
                    MemberFullname = null,
                    MemberGrade = 0,
                    AreaDepth1 = null,
                    MemberArea = company.CompanyArea,
                    MemberLocation = company.CompanyLocation,
                    MemberMemo = null,
                    MemberPid = -1,
                    MemberRoleId = 2,
                    AdminRoleId = 0,
                    CompanyId = 0,
                    CompanyRoleId = 0,
                    MemberSex = null,
                    MemberState = null,
                    MemberStatus = 1,
                    MemberSum = 0,
                    MemberZip = null,
                    AreaDepth2 = null,
                    AreaDepth3 = null,
                    AreaModifyDate = null,
                    LastLoginDate = null,
                    LastLoginSubSys = 0,

                };
                user.Save();
            }
            else if (!Utilities.Compare(user.MemberMsnPhone, phoneNumber))
            {
                user.MemberMsnPhone = phoneNumber;
                user.Save();
            }
            return user;
        }
Пример #39
0
        private static int SaveOrder(OrderMealUserData userData,
                              List<OrderMealData> orderData,
                              Order order,
                              SysCompany company,
                              SysCompanyItem companyItem,
                              decimal orderSum,
                              int qty,
                              bool isNewOrder,
                              out int orderId,
                              out string message)
        {
            orderId = -1;
            bool isLogin = AppContextBase.Context.CurrentSubSys != SubSystem.ALL;
            decimal servicesSum = company.ServiceSum.HasValue ? company.ServiceSum.Value : 0;
            SysMember user = isLogin ? AppContextBase.Context.User : null;
            bool isNeedCheckPhone;
            if (!isLogin || !Utilities.Compare(user.MemberPhoneNumber, userData.userPhone))
                isNeedCheckPhone = true;
            else
                isNeedCheckPhone = MsnBLL.IsPhoneNumNeedCheck(userData.userPhone);
            decimal userOrderAvgSum = 0;
            if (isLogin && companyItem != null && !CompanyItemBLL.CanClickCompanyMealItem(company, user, companyItem, userData.orderId, out userOrderAvgSum, out message))
                return -1;
            bool isNew = false;
            using (TransactionScope ts = new TransactionScope( ))
            {
                using (SharedDbConnectionScope ss = new SharedDbConnectionScope( ))
                {
                    if (isNeedCheckPhone && !MsnBLL.CheckPhoneNumCode(userData.userPhone, userData.checkCode, userData.msnLogId))
                    {
                        message = "验证码有误或已超时,请重新验证。";
                        return -1;
                    }
                    user = user ?? UserBLL.GetOrNewMemberByPhoneNumber(userData.userPhone, company, out isNew);
                    if (isNew)
                        user.AreaDepth2 = company.AreaDepth; //第一次订快餐的地址,默认该地址所属商圈为其工作圈
                    else if (!Utilities.Compare(user.AreaDepth2, company.AreaDepth))
                    {
                        if (string.IsNullOrEmpty(user.AreaDepth1))
                            user.AreaDepth1 = company.AreaDepth;
                        else if (string.IsNullOrEmpty(user.AreaDepth3))
                            user.AreaDepth3 = company.AreaDepth;
                    }

                    if (!isNewOrder)
                    {
                        if (order.OrderMemberID != user.Id)
                        {
                            message = "你不能修改其他会员的订单.";
                            return -1;
                        }
                        ClearOrderMenuDetail(order.Id);
                        if (Utilities.ToDecimal(order.OrderPoint) > 0)
                            RewardBLL.RewardMemberPointForOrderMeal(user, company, order);
                        order.OrderStatus = (int)OrderStatus.Modified;
                    }
                    else
                    {
                        order.OrderNum = GetOrderNum( );
                        order.OrderStatus = (int)OrderStatus.NotStart;
                        order.OrderPoint = 0;
                    }
                    var dtNow = DateTime.Now;
                    //order.OrderCode = orderCode;
                    order.OrderCard = string.Empty;
                    order.OrderDate = dtNow;
                    order.OrderDateDeliver = dtNow;
                    order.OrderDateUpload = dtNow;
                    order.OrderMemberID = user.Id;
                    order.OrderMemo = userData.memo;
                    order.OrderProduct = userData.address; //送餐地址
                    order.OrderQty = qty;
                    order.OrderRateSale = 0; // 折扣
                    order.OrderRate = RewardBLL.OrderMealRewardRate(company) / 100M;  //赠送比例
                    order.OrderPrePoint = (RewardBLL.OrderMealRewardRate(company) / 100M) * orderSum; //赠送积分
                    order.OrderSellerID = company.Id;
                    order.OrderSum = orderSum; //订单总额
                    order.OrderSumOk = orderSum + servicesSum; //订单总额
                    order.OrderPay = orderSum + servicesSum; //现金支付
                    order.OrderPayCash = 0; //储值支付
                    order.OrderPayPoint = companyItem != null ? companyItem.ItemPoint : 0;//积分支付
                    order.OrderType = (int)OrderType.OrderMeal;
                    order.ServiceSum = servicesSum;
                    order.MansionId = userData.mansionId;
                    order.OrderModel = company.IsUseMsg.HasValue && company.IsUseMsg.Value ? (int)OrderModel.Auto : (int)OrderModel.Manual;
                    order.OrderUpdateOn = DateTime.Now;
                    order.IsNonOut = false;
                    order.HasOutOfStock = false;
                    order.Save( );
                    //RewardBLL.RewardMemberPointForOrderMeal(user, company, order);
                    //save detail
                    List<OrdersDetail> details = new List<OrdersDetail>( );
                    foreach (var pair in orderData)
                    {
                        var d = new OrdersDetail( )
                        {
                            MenuId = pair.menudId,
                            MenuName = pair.menuName,
                            OrderId = order.Id,
                            OrderQty = pair.menuAmount,
                            OrderPrice = pair.menuPrice.Value,
                            IsChgPrice = false,
                            IsOutOfStock = false,
                            ItemInfo = pair.isCompanyItem && companyItem != null ? companyItem.ItemInfo : null
                        };
                        d.Save( );
                        details.Add(d);
                    }
                    if (isLogin && companyItem != null)
                        CompanyItemBLL.ClickCompanyMealItem(company, user, companyItem, order, userOrderAvgSum);

                    UserBLL.AddUserFavAddress(user.Id, userData.mansionId, userData.address);
                    //UserBLL.AddUserFavCompany(user.Id, company.Id);
                    //OrderBLL.UpdateBalance( );
                    ts.Complete( );
                    //SendOrderMealMessage(company, user, order, details, out message);
                    if (userData.orderId > 0)
                        OrderProgressBLL.ClearOrderLog(order.Id);
                    OrderProgressBLL.InitOrderLogProgress(order, company);

                    message = "订餐成功.";
                    orderId = order.Id;
                }
            }
            //Auto login
            if (!isLogin)
            {
                if (user != null)
                {
                    if (user.MemberRoleId > 0)
                        user.LastLoginSubSys = (int)SubSystem.Member;
                    else if (user.CompanyRoleId > 0)
                        user.LastLoginSubSys = (int)SubSystem.Company;
                    else if (user.AdminRoleId > 0)
                        user.LastLoginSubSys = (int)SubSystem.Admin;
                    user.LastLoginDate = DateTime.Now;
                    user.Save( );
                    Utilities.LoginSigIn(user.Id, (SubSystem)user.LastLoginSubSys);
                    if (isNew)
                    {
                        message = "下次订餐您可以直接登录,账号是您的手机号码,密码为手机后6位数,记得及时修改密码哦!";
                        return 2;
                    }
                    return 1;
                }
            }
            return 1;
        }
Пример #40
0
        public int Add(SysCompany company)
        {
            try
            {
                string sql = @"INSERT INTO [Sys_Company]
           ([C_Code]
           ,[C_Name]
           ,[C_Phone]
           ,[C_Fax]
           ,[C_Email]
           ,[C_Address]
           ,[C_Remark]
           ,[C_CreateBy]
           ,[C_CreateDate]
           ,[C_UpdateBy]
           ,[C_UpdateDate])
     VALUES
           (@C_Code
           ,@C_Name
           ,@C_Phone
           ,@C_Fax
           ,@C_Email
           ,@C_Address
           ,@C_Remark
           ,@C_CreateBy
           ,@C_CreateDate
           ,@C_UpdateBy
           ,@C_UpdateDate)";

                List <SqlParameter> parameters = new List <SqlParameter>();
                parameters.Add(new SqlParameter("@C_Code", company.C_Code));
                parameters.Add(new SqlParameter("@C_Name", company.C_Name));

                if (!string.IsNullOrEmpty(company.C_Phone))
                {
                    parameters.Add(new SqlParameter("@C_Phone", company.C_Phone));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Phone", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Fax))
                {
                    parameters.Add(new SqlParameter("@C_Fax", company.C_Fax));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Fax", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Email))
                {
                    parameters.Add(new SqlParameter("@C_Email", company.C_Email));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Email", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Address))
                {
                    parameters.Add(new SqlParameter("@C_Address", company.C_Address));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Address", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_Remark))
                {
                    parameters.Add(new SqlParameter("@C_Remark", company.C_Remark));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_Remark", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_CreateBy))
                {
                    parameters.Add(new SqlParameter("@C_CreateBy", company.C_CreateBy));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_CreateBy", DBNull.Value));
                }

                if (!string.IsNullOrEmpty(company.C_UpdateBy))
                {
                    parameters.Add(new SqlParameter("@C_UpdateBy", company.C_UpdateBy));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_UpdateBy", DBNull.Value));
                }


                if (company.C_CreateDate.HasValue)
                {
                    parameters.Add(new SqlParameter("@C_CreateDate", company.C_CreateDate));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_CreateDate", DBNull.Value));
                }

                if (!company.C_UpdateDate.HasValue)
                {
                    parameters.Add(new SqlParameter("@C_UpdateDate", company.C_UpdateDate));
                }
                else
                {
                    parameters.Add(new SqlParameter("@C_UpdateDate", DBNull.Value));
                }


                SqlHelper db  = new SqlHelper();
                var       row = db.ExecuteNonQuery(sql, parameters.ToArray());

                return(row);
            }
            catch (Exception)
            {
                throw;
            }
        }