public void DeleteItem(CodeCampInfo i)
 {
     using (IDataContext ctx = DataContext.Instance())
     {
         var rep = ctx.GetRepository<CodeCampInfo>();
         rep.Delete(i);
     }
 }
        public ServiceResponse<string> CreateEvent(CodeCampInfo codeCamp)
        {
            var result = new ServiceResponse<string>();

            result = ServiceHelper.PostRequest<ServiceResponse<string>>(fullApiUri + "CreateEvent", codeCamp.ObjectToJson());

            return result;
        }
 public void UpdateItem(CodeCampInfo i)
 {
     using (IDataContext ctx = DataContext.Instance())
     {
         var rep = ctx.GetRepository <CodeCampInfo>();
         rep.Update(i);
     }
 }
        public CodeCampInfo GetItem(int itemId, int moduleId)
        {
            CodeCampInfo i = null;

            using (IDataContext ctx = DataContext.Instance())
            {
                var rep = ctx.GetRepository <CodeCampInfo>();
                i = rep.GetById(itemId, moduleId);
            }
            return(i);
        }
        public HttpResponseMessage CreateEvent(CodeCampInfo newEvent)
        {
            try
            {
                newEvent.CreatedByDate = DateTime.Now;
                newEvent.CreatedByUserId = UserInfo.UserID;
                newEvent.LastUpdatedByDate = DateTime.Now;
                newEvent.LastUpdatedByUserId = UserInfo.UserID;
                newEvent.ModuleId = ActiveModule.ModuleID;

                CodeCampDataAccess.CreateItem(newEvent);

                var response = new ServiceResponse<string> { Content = Globals.RESPONSE_SUCCESS };

                return Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson());
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE);
            }
        }
示例#6
0
 public void UpdateItem(CodeCampInfo i)
 {
     repo.UpdateItem(i);
 }
示例#7
0
 public void DeleteItem(CodeCampInfo i)
 {
     repo.DeleteItem(i);
 }
示例#8
0
 public void CreateItem(CodeCampInfo i)
 {
     repo.CreateItem(i);
 }
        private bool EventHasUpdates(ref CodeCampInfo originalCodeCamp, ref CodeCampInfo newCodeCamp)
        {
            var updatesToProcess = false;

            if (!string.Equals(newCodeCamp.Title, originalCodeCamp.Title))
            {
                originalCodeCamp.Title = newCodeCamp.Title;
                updatesToProcess = true;
            }

            if (!string.Equals(newCodeCamp.Description, originalCodeCamp.Description))
            {
                originalCodeCamp.Description = newCodeCamp.Description;
                updatesToProcess = true;
            }

            if (newCodeCamp.MaximumCapacity != originalCodeCamp.MaximumCapacity)
            {
                originalCodeCamp.MaximumCapacity = newCodeCamp.MaximumCapacity;
                updatesToProcess = true;
            }

            if (newCodeCamp.BeginDate != originalCodeCamp.BeginDate)
            {
                originalCodeCamp.BeginDate = newCodeCamp.BeginDate;
                updatesToProcess = true;
            }

            if (newCodeCamp.EndDate != originalCodeCamp.EndDate)
            {
                originalCodeCamp.EndDate = newCodeCamp.EndDate;
                updatesToProcess = true;
            }

            if (newCodeCamp.EndDate != originalCodeCamp.EndDate)
            {
                originalCodeCamp.EndDate = newCodeCamp.EndDate;
                updatesToProcess = true;
            }

            if (newCodeCamp.ShowShirtSize != originalCodeCamp.ShowShirtSize)
            {
                originalCodeCamp.ShowShirtSize = newCodeCamp.ShowShirtSize;
                updatesToProcess = true;
            }

            if (newCodeCamp.ShowAuthor != originalCodeCamp.ShowAuthor)
            {
                originalCodeCamp.ShowAuthor = newCodeCamp.ShowAuthor;
                updatesToProcess = true;
            }

            if (newCodeCamp.RegistrationActive != originalCodeCamp.RegistrationActive)
            {
                originalCodeCamp.RegistrationActive = newCodeCamp.RegistrationActive;
                updatesToProcess = true;
            }

            if (originalCodeCamp.CustomProperties != null)
            {
                // parse custom properties for updates
                foreach (var property in originalCodeCamp.CustomPropertiesObj)
                {
                    if (newCodeCamp.CustomPropertiesObj.Any(p => p.Name == property.Name))
                    {
                        // see if the existing property needs to be updated
                        var prop = newCodeCamp.CustomPropertiesObj.FirstOrDefault(p => p.Name == property.Name);
                        if (!string.Equals(prop.Value, property.Value))
                        {
                            property.Value = prop.Value;
                            updatesToProcess = true;
                        }
                    }
                    else
                    {
                        // delete the property
                        originalCodeCamp.CustomPropertiesObj.Remove(property);
                        updatesToProcess = true;
                    }
                }
            }

            if (newCodeCamp.CustomPropertiesObj != null)
            {
                // add any new properties
                if (originalCodeCamp.CustomProperties == null)
                {
                    foreach (var property in newCodeCamp.CustomPropertiesObj)
                    {
                        originalCodeCamp.CustomPropertiesObj.Add(property);
                        updatesToProcess = true;
                    }
                }
                else
                {
                    var camp = originalCodeCamp;
                    foreach (var property in newCodeCamp.CustomPropertiesObj.Where(property => !camp.CustomPropertiesObj.Contains(property)))
                    {
                        camp.CustomPropertiesObj.Add(property);
                        updatesToProcess = true;
                    }
                }
            }

            return updatesToProcess;
        }
        public HttpResponseMessage UpdateEvent(CodeCampInfo codeCamp)
        {
            try
            {
                var originalEvent = CodeCampDataAccess.GetItem(codeCamp.CodeCampId, codeCamp.ModuleId);
                var updatesToProcess = EventHasUpdates(ref originalEvent, ref codeCamp);

                if (updatesToProcess)
                {
                    originalEvent.LastUpdatedByDate = DateTime.Now;
                    originalEvent.LastUpdatedByUserId = UserInfo.UserID;

                    CodeCampDataAccess.UpdateItem(originalEvent);
                }

                var savedEvent = CodeCampDataAccess.GetItem(originalEvent.CodeCampId, originalEvent.ModuleId);

                var response = new ServiceResponse<CodeCampInfo> { Content = savedEvent };

                return Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson());
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE);
            }
        }
 public void UpdateItem(CodeCampInfo i)
 {
     repo.UpdateItem(i);
 }
 public void DeleteItem(CodeCampInfo i)
 {
     repo.DeleteItem(i);
 }
 public void CreateItem(CodeCampInfo i)
 {
     repo.CreateItem(i);
 }