示例#1
0
        // GET: Work_schedule/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Work_schedule work_schedule = db.Work_schedule.Find(id);

            if (work_schedule == null)
            {
                return(HttpNotFound());
            }
            return(View(work_schedule));
        }
示例#2
0
        //取所有session
        //public SelectList GetAllSession()
        //{
        //    var result = new SelectList(context.Session, "Session_id", "Start_time");
        //    //var result = context.Session.Include(s => s.Session_id)
        //    //        .Select(x => new Designer_Schedule_ViewModel
        //    //        {
        //    //            AllSession = x.Session_id
        //    //        }).ToList();
        //    return result;
        //}

        //取所有designer_id
        //public SelectList GetAllDesigner()
        //{
        //    var result = new SelectList(context.Designer, "Designer_id", "Name");
        //    //var result = context.Designer.Include(x => x.Designer_id)
        //    //        .Select(x => new Designer_Schedule_ViewModel
        //    //        {
        //    //            AllDesignerId = x.Designer_id
        //    //        }).ToList();
        //    return result;
        //}

        //Create
        public OperationResult Create(Designer_Schedule_ViewModel input)
        {
            OperationResult result = new OperationResult();

            try
            {
                //為了要叫用Repository這個類別的Create方法,所以要new一個Repository出來
                //  ,並且傳入<T>泛型參數,這裡用的參數為要新增內容的資料表名稱
                AppleLaLaRepository <Work_schedule> repository = new AppleLaLaRepository <Work_schedule>(context);

                //為了要對Work_Schedule這個資料表塞資料,所以要new一個Work_Schedule資料表出來
                Work_schedule entity = new Work_schedule()
                {
                    //資料表欄位 = ViewModel欄位

                    Designer_id  = input.AllDesignerId,
                    Session_id   = input.SessionId,
                    On_work_flag = input.WorkFlag,
                    Date         = input.WorkDate
                };

                //叫用repository裡的Create方法,並傳入整理好(符合Work_Schedule這個資料表欄位)的這包資料
                repository.Create(entity);

                //叫dbContext幫我確定儲存好
                context.SaveChanges();

                //當走完以上的步驟都沒有出錯,就表示資料儲存完畢
                //就可以塞個操作成功給result
                result.IsSuccessful = true;
            }
            //有try就一定會有catch去接住例外狀況發生時要做的事情
            catch (Exception ex)
            {
                //進入例外狀況這裡,就代表操作失敗
                //就要塞個操作失敗給result
                result.IsSuccessful = false;

                //將這個被抓到的例外狀況的原因塞給exception這個欄位記錄下來
                result.exception = ex;
            }
            //將Create這個方法的操作結果回傳出去
            return(result);
        }
示例#3
0
        public void _intoDB(string cartInfo, string Status, string OrderNo, int PayWay_id, int cus_id)
        {
            var result = Newtonsoft.Json.JsonConvert.DeserializeObject <List <CartDetail> >(cartInfo);
            AppleLaLaRepository <Order>         repo_order         = new AppleLaLaRepository <Order>(context);
            AppleLaLaRepository <Order_details> repo_Order_details = new AppleLaLaRepository <Order_details>(context);
            AppleLaLaRepository <Work_schedule> repo_Work_schedule = new AppleLaLaRepository <Work_schedule>(context);
            Order _order = new Order
            {
                Order_id         = OrderNo,
                Payway_id        = PayWay_id,
                Cust_id          = cus_id,
                Order_date       = DateTime.Now,
                Last_updata_date = DateTime.Now,
            };

            repo_order.Create(_order);
            context.SaveChanges();

            var SessionId = 0;
            var time      = 1;

            foreach (var item in result)
            {
                switch (int.Parse(item.Session))
                {
                case 11:
                    SessionId = 1;
                    break;

                case 12:
                    SessionId = 2;
                    break;

                case 13:
                    SessionId = 3;
                    break;

                case 14:
                    SessionId = 4;
                    break;

                case 15:
                    SessionId = 5;
                    break;

                case 16:
                    SessionId = 6;
                    break;

                case 17:
                    SessionId = 7;
                    break;

                case 18:
                    SessionId = 8;
                    break;

                case 19:
                    SessionId = 9;
                    break;

                case 20:
                    SessionId = 10;
                    break;

                case 21:
                    SessionId = 11;
                    break;

                default:
                    SessionId = 0;
                    break;
                }

                Order_details order_Details = new Order_details()
                {
                    Order_detail_no    = DateTimeOffset.Now.AddSeconds(time).ToUnixTimeSeconds().ToString(),
                    Order_id           = OrderNo,
                    Service_details_Id = (from sd in context.Service_details
                                          where sd.Name == item.Services
                                          select sd.Service_details_Id).First(),
                    Appointment_date = item.Date,
                    Session_id       = SessionId,
                    Designer_id      = (from d in context.Designer
                                        where d.Name == item.Designer
                                        select d.Designer_id).First(),
                    Last_updata_date = DateTime.Now,
                };
                repo_Order_details.Create(order_Details);



                var cnstr = ConfigurationManager.ConnectionStrings["AppleLaLaModel"].ConnectionString;
                using (var conn = new SqlConnection(cnstr))
                {
                    conn.Open();
                    string sql = "select ws.Schedule_id, ws.Designer_id,ws.Date,ws.Session_id,ws.On_work_flag from[Work_schedule] ws inner join[Designer] d on ws.Designer_id = d.Designer_id where d.Name = @Name and ws.Date = @Date and ws.Session_id = @Session_id ";

                    var target = conn.Query <dynamic>(sql, new { Name = item.Designer, Date = item.Date, Session_id = SessionId });
                    foreach (var i in target)
                    {
                        Work_schedule Work_schedule = new Work_schedule()
                        {
                            Schedule_id  = i.Schedule_id,
                            Designer_id  = i.Designer_id,
                            Date         = i.Date,
                            Session_id   = i.Session_id,
                            On_work_flag = "N"
                        };
                        repo_Work_schedule.Update(Work_schedule);
                    }
                }

                context.SaveChanges();
                time++;
            }
        }