public async Task <IActionResult> EditNote(string calendarId, int month, int day, string note) { if (!await HasAuthorityAsync(calendarId, CalendarSharingOption.Collaborate)) { return(StatusCode(403, new ErrorResponseModel("편집할 권한이 없습니다"))); } var log = await _database.DayLogs.FindAsync(calendarId, month, day); if (log == null) { log = new DayLog { CalendarId = calendarId, Month = month, Day = day }; _database.DayLogs.Add(log); } log.Note = note; if (String.IsNullOrWhiteSpace(log.Note) && log.Option == null) { _database.DayLogs.Remove(log); } await _database.SaveChangesAsync(); return(Ok(new { })); }
public async Task <ActionResult <DayLog> > PostDayLog(DayLog dayLog) { _context.DayLog.Add(dayLog); await _context.SaveChangesAsync(); return(CreatedAtAction("GetDayLog", new { id = dayLog.Id }, dayLog)); }
/// <summary> /// 根据ID获取日志信息表实体 /// </summary> /// <param name="guid">主键ID</param> /// <returns>返回日志信息表实体</returns> public DayLog GetItemById(Guid guid) { DayLog tem = new DayLog(); tem = Dal.Find <DayLog>(DayLog._.ID == guid); return(tem); }
public async Task <IActionResult> PutDayLog(int id, DayLog dayLog) { if (id != dayLog.Id) { return(BadRequest()); } _context.Entry(dayLog).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DayLogExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private SummaryGridRow GetGridValue(DayLog dayLog) { TimeSpan time = new TimeSpan(); string duration = ""; string comment = ""; if (dayLog.Title.Length >= 8 && TimeSpan.TryParse(dayLog.Title.Substring(0, 8), out time)) { duration = time.ToString(); if (dayLog.Title.Length > 8) { comment = dayLog.Title.Substring(8, dayLog.Title.Length - 8); } if (comment.Trim().Length == 0) { if (dayLog.Class.Contains("dxeCalendarWeekend_DevEx")) { comment = "Weekend"; } } } else { comment = dayLog.Title; } comment = comment.Replace(":", "").Trim(); //var color = GetValueFromStyle(dayLog.Style, "BACKGROUND-COLOR"); return(new SummaryGridRow { WeekDay = dayLog.WeekDay, Day = dayLog.Day, Duration = duration, Comments = comment, Color = dayLog.Color }); }
public static IEnumerable <DayLog> GetWeek(DateTime start, DateTime end) { CarPoolToolEntities entities = new CarPoolToolEntities(); var log = from a in entities.CarpoolLogs where a.data >= start && a.data < end orderby a.data select a; Dictionary <DateTime, DayLog> week = new Dictionary <DateTime, DayLog>(); foreach (var item in log.ToList()) { if (!week.ContainsKey(item.data.Date)) { week[item.data.Date] = new DayLog(item.data.Date); } week[item.data.Date].InsertLog(item); } //Fill missing users and/or days var users = entities.Users; DateTime curDay = start; while (curDay < end) { if (!week.ContainsKey(curDay)) { week[curDay] = new DayLog(curDay); } week[curDay].FillMissingUsers(users, UserStatus.MissingData, false); curDay = curDay.AddDays(1); } //Load alerts and holidays foreach (var daylog in week.Values) { var alerts = from a in entities.Alerts where a.data == daylog.Date select a; var holiday = (from h in entities.Holidays where h.data == daylog.Date select h).FirstOrDefault(); daylog.Alerts = alerts.ToList(); if (holiday != null) { daylog.Holiday = holiday; } } return(week.Values.OrderBy(x => x.Date)); }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(TodoLog item) { if (item == null) { return; } using var db = await NewDb; var daykey = item.Created.GetDayId(); var p = db.DayLogs.FirstOrDefault(x => x.Date == daykey); if (p == null) { //创建新的日期 var daylog = new DayLog { Date = daykey, TodoLogs = new List <TodoLog>() }; Created(daylog); Created(item); daylog.TodoLogs.Add(item); db.DayLogs.Add(daylog); } else { //检查记录是否存在 var tl = p.TodoLogs.FirstOrDefault(x => x.Key == item.Key && x.ProjcectId == item.ProjcectId && x.TodoId == item.TodoId); if (tl == null) { Created(item); //创建新记录 p.TodoLogs.Add(item); } else { //更新 tl.Update(item); } } await db.SaveChanges(); await LoadDayLog(); MessageAction?.Invoke(MessageTypeUpdate); }
// POST: api/DayLog /// <summary> /// 添加信息 /// </summary> /// <param name="value"></param> public object Post([FromBody] DayLog value) { try { this.dayLogService.AddOrModity(value); return(base.ToSuccessObject()); } catch (DbEntityValidationException dbEx) { return(base.ToFailureObject(dbEx.Message)); } catch (Exception ex) { return(base.ToFailureObject(ex.Message)); } }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(TodoLog item) { if (item == null) { return; } var daykey = item.Created.GetDayId(); var p = DayLogs.FirstOrDefault(x => x.Date == daykey); if (p == null) { //创建新的日期 var daylog = new DayLog { Date = daykey, TodoLogs = new List <TodoLog>() }; Created(daylog); Created(item); daylog.TodoLogs.Add(item); DayLogs.Add(daylog); DataIndex.DayLogs.AddUniq(daylog.Key); await Save(daylog); await Save(DataIndex); } else { //检查记录是否存在 var tl = p.TodoLogs.FirstOrDefault(x => x.Key == item.Key && x.ProjcectId == item.ProjcectId && x.TodoId == item.TodoId); if (tl == null) { Created(item); //创建新记录 p.TodoLogs.Add(item); } else { //更新 tl.Update(item); } await Save(p); } MessageAction?.Invoke(MessageTypeUpdate); }
public async Task <IActionResult> EditNote(string calendarId, int month, int day, string note) { var log = await _database.DayLogs.FindAsync(calendarId, month, day); if (log == null) { log = new DayLog { CalendarId = calendarId, Month = month, Day = day }; _database.DayLogs.Add(log); } log.Note = note; if (String.IsNullOrWhiteSpace(log.Note) && log.Option == null) { _database.DayLogs.Remove(log); } await _database.SaveChangesAsync(); return(Ok()); }
/// <summary> /// 添加或修改 /// </summary> /// <param name="model"></param> public void AddOrModity(DayLog model) { try { this.dayLogRepository.UnitOfWork.BeginTrans(); if (!string.IsNullOrEmpty(model.Id)) { this.dayLogRepository.Modity(model); } else { model.GenerateNewIdentity(); model.CreateDate = DateTime.Now; this.dayLogRepository.Add(model); } this.dayLogRepository.SaveChanges(); this.dayLogRepository.UnitOfWork.Commit(); } catch (Exception ex) { this.dayLogRepository.UnitOfWork.Rollback(); throw ex; } }
public static void PersistDayLog(DayLog daylog, CarPoolToolEntities entities, UserStatus?fillStatus, bool persistChanges) { DateTime day = daylog.Date.Date; var users = entities.Users; if (fillStatus.HasValue) { daylog.FillMissingUsers(users, fillStatus.Value, true); } foreach (var user in users) { if (!daylog.Userdata.ContainsKey(user)) { continue; } var log = (from l in entities.CarpoolLogs where l.data == day && l.username == user.username select l).FirstOrDefault(); UserStatus status = daylog.Userdata[user]; //Remove entry if (status == UserStatus.MissingData) { if (log != null) { entities.CarpoolLogs.Remove(log); } } else { if (log == null) { log = new CarpoolLog(); log.username = user.username; log.data = day; entities.CarpoolLogs.Add(log); } switch (status) { case UserStatus.Driver: log.driver = 1; log.passenger = 0; break; case UserStatus.Passenger: log.driver = 0; log.passenger = 1; break; case UserStatus.Absent: log.driver = 0; log.passenger = 0; break; default: break; } } } //Update o insert if (persistChanges) { entities.SaveChanges(); } }
public static void PersistDayLog(DayLog daylog, UserStatus?fillStatus) { CarPoolToolEntities entities = new CarPoolToolEntities(); PersistDayLog(daylog, entities, fillStatus, true); }
public bool ExitDayLog(DayLog entity) { return(Dal.Exists <DayLog>(DayLog._.ID != entity.ID && DayLog._.UserID == entity.UserID && DayLog._.WordDate == entity.WordDate)); }