public void Insert(TimeSlotInfo info) { db.Open(); string query = "INSERT INTO [dbo].[TimeSlot] ( [TimeSlotCode] " + ",[TimeSlotType] " + ",[TimeSlotDesc] " + ",[HourRate] " + ",[Remarks] " + ",[CreateUser] " + ",[CreateDate] " + ",[LastModifyUser] " + ",[LastModifyDate] " + ") " + "VALUES ( @TimeSlotCode " + ",@TimeSlotType " + ",@TimeSlotDesc " + ",@HourRate " + ",@Remarks " + ",@CreateUser " + ",@CreateDate " + ",@LastModifyUser " + ",@LastModifyDate " + ") "; db.Execute(query, info); db.Close(); }
public bool IsExisted(TimeSlotInfo info) { db.Open(); String query = "select count(*) from TimeSlot " + " where TimeSlotCode = @TimeSlotCode "; var obj = (List <int>)db.Query <int>(query, info); db.Close(); return(obj[0] > 0); }
public void Save(TimeSlotInfo info) { if (this.IsExisted(info)) { this.Update(info); } else { this.Insert(info); } }
public void Update(TimeSlotInfo info) { db.Open(); string query = " UPDATE [dbo].[TimeSlot] SET " + " [TimeSlotType] = @TimeSlotType " + ", [TimeSlotDesc] = @TimeSlotDesc " + ", [HourRate] = @HourRate " + ", [Remarks] = @Remarks " + ", [CreateUser] = @CreateUser " + ", [CreateDate] = @CreateDate " + ", [LastModifyUser] = @LastModifyUser " + ", [LastModifyDate] = @LastModifyDate " + " where TimeSlotCode = @TimeSlotCode "; db.Execute(query, info); db.Close(); }
public string Edit(FormDataCollection form) { var retVal = string.Empty; var operation = form.Get("oper"); var id = form.Get("Id").Split(',')[0].ToInt32(); if (string.IsNullOrEmpty(operation)) { return(retVal); } TimeSlotInfo info; switch (operation) { case "edit": info = CatalogRepository.GetInfo <TimeSlotInfo>(id); if (info != null) { info.Name = form.Get("Name"); info.OrderTime = form.Get("OrderTime").ToInt32(); CatalogRepository.Update(info); } break; case "add": info = new TimeSlotInfo { Name = form.Get("Name"), OrderTime = form.Get("OrderTime").ToInt32() }; CatalogRepository.Create(info); break; case "del": CatalogRepository.Delete <TimeSlotInfo>(id); break; } StoreData.ReloadData <TimeSlotInfo>(); return(retVal); }
public HttpResponseMessage UpdateTimeSlot(TimeSlotInfo timeSlot) { try { var updatesToProcess = false; var originalTimeSlot = TimeSlotDataAccess.GetItem(timeSlot.TimeSlotId, timeSlot.CodeCampId); updatesToProcess = TimeSlotHasUpdates(ref originalTimeSlot, ref timeSlot); if (updatesToProcess) { originalTimeSlot.LastUpdatedByDate = DateTime.Now; originalTimeSlot.LastUpdatedByUserId = UserInfo.UserID; TimeSlotDataAccess.UpdateItem(originalTimeSlot); } var savedTimeSlot = TimeSlotDataAccess.GetItem(timeSlot.TimeSlotId, timeSlot.CodeCampId); // removing this prevented the saved/retrieved time from being offset to being about 4 hours off //if (savedTimeSlot != null) //{ // savedTimeSlot.BeginTime = savedTimeSlot.BeginTime.ToLocalTime(); // savedTimeSlot.EndTime = savedTimeSlot.EndTime.ToLocalTime(); //} var response = new ServiceResponse <TimeSlotInfo> { Content = savedTimeSlot }; return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson())); } catch (Exception ex) { Exceptions.LogException(ex); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE)); } }
public HttpResponseMessage CreateTimeSlot(TimeSlotInfo timeSlot) { try { var timeStamp = DateTime.Now; timeSlot.CreatedByDate = timeStamp; timeSlot.CreatedByUserId = UserInfo.UserID; timeSlot.LastUpdatedByDate = timeStamp; timeSlot.LastUpdatedByUserId = UserInfo.UserID; TimeSlotDataAccess.CreateItem(timeSlot); var timeSlots = TimeSlotDataAccess.GetItems(timeSlot.CodeCampId); var savedTimeSlot = timeSlots.OrderByDescending(s => s.CreatedByDate).FirstOrDefault(s => s.BeginTime == timeSlot.BeginTime); // removing this prevented the saved/retrieved time from being offset to being about 4 hours off //if (savedTimeSlot != null) //{ // savedTimeSlot.BeginTime = savedTimeSlot.BeginTime.ToLocalTime(); // savedTimeSlot.EndTime = savedTimeSlot.EndTime.ToLocalTime(); //} var response = new ServiceResponse <TimeSlotInfo> { Content = savedTimeSlot }; return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson())); } catch (Exception ex) { Exceptions.LogException(ex); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE)); } }
private bool TimeSlotHasUpdates(ref TimeSlotInfo originalTimeSlot, ref TimeSlotInfo timeSlot) { var updatesToProcess = false; if (timeSlot.BeginTime != originalTimeSlot.BeginTime) { originalTimeSlot.BeginTime = timeSlot.BeginTime; updatesToProcess = true; } if (timeSlot.EndTime != originalTimeSlot.EndTime) { originalTimeSlot.EndTime = timeSlot.EndTime; updatesToProcess = true; } if (!string.Equals(timeSlot.AgendaText, originalTimeSlot.AgendaText)) { originalTimeSlot.AgendaText = timeSlot.AgendaText; updatesToProcess = true; } if (timeSlot.SpanAllTracks != originalTimeSlot.SpanAllTracks) { originalTimeSlot.SpanAllTracks = timeSlot.SpanAllTracks; updatesToProcess = true; } if (timeSlot.IncludeInDropDowns != originalTimeSlot.IncludeInDropDowns) { originalTimeSlot.IncludeInDropDowns = timeSlot.IncludeInDropDowns; updatesToProcess = true; } if (originalTimeSlot.CustomProperties != null) { // parse custom properties for updates foreach (var property in originalTimeSlot.CustomPropertiesObj) { if (timeSlot.CustomPropertiesObj.Any(p => p.Name == property.Name)) { // see if the existing property needs to be updated var prop = timeSlot.CustomPropertiesObj.FirstOrDefault(p => p.Name == property.Name); if (!string.Equals(prop.Value, property.Value)) { property.Value = prop.Value; updatesToProcess = true; } } else { // delete the property originalTimeSlot.CustomPropertiesObj.Remove(property); updatesToProcess = true; } } } if (timeSlot.CustomPropertiesObj != null) { // add any new properties if (originalTimeSlot.CustomProperties == null) { foreach (var property in timeSlot.CustomPropertiesObj) { originalTimeSlot.CustomPropertiesObj.Add(property); updatesToProcess = true; } } else { TimeSlotInfo slot = originalTimeSlot; foreach (var property in timeSlot.CustomPropertiesObj.Where(property => !slot.CustomPropertiesObj.Contains(property))) { slot.CustomPropertiesObj.Add(property); updatesToProcess = true; } } } return(updatesToProcess); }