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)); }
/* * 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)); }
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)); } }