コード例 #1
0
        public IActionResult CreateGroup(int parent_id, string groupNameEn, string groupNameJp)
        {
            var langRequest = Request.HttpContext.Features.Get <IRequestCultureFeature>();
            var culture     = langRequest.RequestCulture.Culture;
            var _lang       = culture.ToString();

            var group = new Group();

            group.GroupNameEn = groupNameEn;
            group.GroupNameJp = groupNameJp;
            group.Status      = 1;
            if (parent_id > 0)
            {
                group.ParentGroupId = parent_id;
            }
            _db.Add(group);
            _db.SaveChanges();
            var result = new
            {
                status    = 200,
                message   = "Create Group Success",
                data      = group,
                groupName = (_lang == "en-US") ? group.GroupNameEn : group.GroupNameJp
            };

            return(Json(result));
        }
コード例 #2
0
ファイル: MachineController.cs プロジェクト: tinhvtq/testprj
        /*
         * Create new category
         * **/
        public IActionResult CreateCategory(string categoryNameEn, string categoryNameJp)
        {
            Category cate = new Category();

            cate.CategoryNameEn = categoryNameEn;
            cate.CategoryNameJp = categoryNameJp;
            cate.Status         = 1;
            _db.Add(cate);
            _db.SaveChanges();
            var result = new
            {
                status  = 200,
                message = "Create Category Success",
                data    = cate
            };

            return(Json(result));
        }
コード例 #3
0
        public IActionResult CreateReservation(int machinedId, string note, int color, string str_item_id, string str_item_value, int price, string reservation_date, string start_time, string end_time)
        {
            var langRequest = Request.HttpContext.Features.Get <IRequestCultureFeature>();
            var culture     = langRequest.RequestCulture.Culture;
            var _lang       = culture.ToString();
            var user_id     = HttpContext.Session.GetInt32("UserId");

            string[] arr_item_val = null;
            //if (str_item_value != "0")
            if (!string.IsNullOrEmpty(str_item_value) && str_item_value != "0")
            {
                arr_item_val = str_item_value.Split(',').ToArray();
            }
            int[] arr_item_id = null;
            //if (str_item_id != "0")
            if (!string.IsNullOrEmpty(str_item_id) && str_item_id != "0")
            {
                arr_item_id = str_item_id.Split(',').Select(n => Convert.ToInt32(n)).ToArray();
            }
            var      str_start   = reservation_date + ' ' + start_time + ":00";
            DateTime event_start = DateTime.Parse(str_start);
            var      str_end     = reservation_date + ' ' + end_time + ":00";
            //DateTime event_end = DateTime.Parse(str_end);
            DateTime event_end = new DateTime();

            //add code 24h
            //if (end_time == "00:0")
            //{
            //    event_end = DateTime.Parse(str_end).AddDays(1);
            //}
            //else
            //{
            //    event_end = DateTime.Parse(str_end);
            //}
            event_end = end_time switch
            {
                "00:0" => DateTime.Parse(str_end).AddDays(1),
                "00:15" => DateTime.Parse(reservation_date + ' ' + "00:00" + ":00").AddDays(1),
                "00:30" => DateTime.Parse(reservation_date + ' ' + "00:00" + ":00").AddDays(1),
                "00:45" => DateTime.Parse(reservation_date + ' ' + "00:00" + ":00").AddDays(1),
                _ => DateTime.Parse(str_end),
            };
            var count = _db.Reservations.Where(r => r.MachineId == machinedId && ((r.StartTime >= event_start && r.StartTime <= event_end) || (r.EndTime >= event_start && r.EndTime <= event_end))).ToList().Count;

            if (count == 0)
            {
                Reservation res = new Reservation();
                res.MachineId = machinedId;
                res.UserId    = Convert.ToInt32(user_id);
                res.Color     = color;
                res.Price     = price;
                res.Note      = note;
                res.StartTime = event_start;
                res.EndTime   = event_end;
                _db.Add(res);
                _db.SaveChanges();

                Reservation reservation = _db.Reservations.Include(r => r.CustomFieldValues).Include(r => r.Machine).Where(r => r.ReserveId == res.ReserveId).FirstOrDefault();
                if (arr_item_id != null)
                {
                    for (int i = 0; i < arr_item_id.Length; i++)
                    {
                        if (arr_item_val != null)
                        {
                            if (arr_item_val[i] != "")
                            {
                                var item = new CustomFieldValue();
                                item.FieldId    = arr_item_id[i];
                                item.ReserveId  = res.ReserveId;
                                item.FieldValue = arr_item_val[i];
                                reservation.CustomFieldValues.Add(item);
                            }
                        }
                    }
                    _db.SaveChanges();
                }
                User  user = _db.Users.Include(u => u.Group).Where(u => u.UserId == Convert.ToInt32(user_id)).FirstOrDefault();
                Event ev   = new Event();
                ev.ReserveId   = reservation.ReserveId;
                ev.UserId      = reservation.UserId;
                ev.UserName    = (_lang == "en-US") ? user.UserNameEn : user.UserNameJp;
                ev.GroupName   = (_lang == "en-US") ? user.Group.GroupNameEn : user.Group.GroupNameJp;
                ev.MachineId   = reservation.MachineId;
                ev.MachineName = (_lang == "en-US") ? reservation.Machine.MachineNameEn : reservation.Machine.MachineNameJp;
                ev.Color       = reservation.Color;
                ev.Price       = reservation.Price;
                ev.StartTime   = reservation.StartTime;
                ev.EndTime     = reservation.EndTime;
                var result = new
                {
                    status  = 200,
                    message = "Create success.",
                    data    = ev
                };
                return(Json(result));
            }
            else
            {
                var result = new
                {
                    status  = 400,
                    message = (_lang == "en-US") ? "The Reservation Overlaps." : "予約が重複しています。"
                };
                return(Json(result));
            }
        }