예제 #1
0
        public IHttpActionResult Post([FromBody] REQUEST membershipRequest)
        {
            if (!ModelState.IsValid || membershipRequest == null)
            {
                string errors = "";
                foreach (var modelstate in ModelState.Values)
                {
                    foreach (var error in modelstate.Errors)
                    {
                        errors += "|" + error.ErrorMessage + "|" + error.Exception;
                    }
                }
                throw new BadInputException()
                      {
                          ExceptionMessage = errors
                      };
            }

            var result = _membershipRequestService.Add(membershipRequest);

            if (result == null)
            {
                return(NotFound());
            }

            return(Created("membershipRequest", result));
        }
예제 #2
0
        public IHttpActionResult Put(int id, REQUEST membershipRequest)
        {
            if (!ModelState.IsValid || membershipRequest == null || id != membershipRequest.REQUEST_ID)
            {
                string errors = "";
                foreach (var modelstate in ModelState.Values)
                {
                    foreach (var error in modelstate.Errors)
                    {
                        errors += "|" + error.ErrorMessage + "|" + error.Exception;
                    }
                }
                throw new BadInputException()
                      {
                          ExceptionMessage = errors
                      };
            }

            var result = _membershipRequestService.Update(id, membershipRequest);

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok(membershipRequest));
        }
예제 #3
0
 /// <summary>
 /// Add a new request
 /// </summary>
 /// <param name="request">The request to add</param>
 /// <returns>True if request is added successfuly otherwise false</returns>
 public bool AddRequest(REQUEST request)
 {
     if (request != null)
     {
         db.REQUESTs.Add(request);
         db.SaveChanges();
         return(true);
     }
     return(false);
 }
예제 #4
0
        private void OnRecvSimobjectData(SimConnect simConnect, SIMCONNECT_RECV_SIMOBJECT_DATA data)
        {
            REQUEST request = (REQUEST)data.dwRequestID;

            (simConnect as SimConnectzmo) !.typeToRequest !
            .Where(candidate => candidate.Value == request)
            .Select(candidate => candidate.Key)
            .Single()
            .Process(simConnect, data.dwData[0]);
        }
예제 #5
0
 public SimVar(int id, string _name, string _cname, POSSIBLE_FAIL_TYPE ptype, string _unit = "Number")
 {
     //MessageBox.Show(id.ToString());
     eDef         = (DEFINITION)id;
     eRequest     = (REQUEST)id;
     isEvent      = false;
     sName        = _name;
     sUnits       = _unit;
     controlName  = _cname;
     possibleType = ptype;
 }
        // Helper method to help validate a membership request that comes in.
        // Return true if it is valid. Throws an exception if not. Exception is cauth in an Exception filter.
        private bool validateMembershipRequest(REQUEST membershipRequest)
        {
            var personExists = _unitOfWork.AccountRepository.Where(x => x.gordon_id.Trim() == membershipRequest.ID_NUM.ToString()).Count() > 0;

            if (!personExists)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The Person was not found."
                      };
            }
            var activityExists = _unitOfWork.ActivityInfoRepository.Where(x => x.ACT_CDE.Trim() == membershipRequest.ACT_CDE).Count() > 0;

            if (!activityExists)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The Activity was not found."
                      };
            }
            var participationExists = _unitOfWork.ParticipationRepository.Where(x => x.PART_CDE.Trim() == membershipRequest.PART_CDE).Count() > 0;

            if (!participationExists)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The Participation level was not found."
                      };
            }
            var sessionExists = _unitOfWork.SessionRepository.Where(x => x.SESS_CDE.Trim() == membershipRequest.SESS_CDE).Count() > 0;

            if (!sessionExists)
            {
                throw new ResourceNotFoundException()
                      {
                          ExceptionMessage = "The Session was not found."
                      };
            }
            // Check for a pending request
            var pendingRequest = _unitOfWork.MembershipRequestRepository.Any(x => x.ID_NUM == membershipRequest.ID_NUM &&
                                                                             x.SESS_CDE.Equals(membershipRequest.SESS_CDE) && x.ACT_CDE.Equals(membershipRequest.ACT_CDE) &&
                                                                             x.STATUS.Equals("Pending"));

            if (pendingRequest)
            {
                throw new ResourceCreationException()
                      {
                          ExceptionMessage = "A request for this activity has already been made for you and is awaiting group leader approval."
                      };
            }

            return(true);
        }
        /// <summary>
        /// Generate a new request to join an activity at a participation level higher than 'Guest'
        /// </summary>
        /// <param name="membershipRequest">The membership request object</param>
        /// <returns>The membership request object once it is added</returns>
        public REQUEST Add(REQUEST membershipRequest)
        {
            // Validates the memberships request by throwing appropriate exceptions. The exceptions are caugth in the CustomExceptionFilter
            validateMembershipRequest(membershipRequest);
            isPersonAlreadyInActivity(membershipRequest);

            membershipRequest.STATUS = Request_Status.PENDING;
            var addedMembershipRequest = _unitOfWork.MembershipRequestRepository.Add(membershipRequest);

            _unitOfWork.Save();

            return(addedMembershipRequest);
        }
예제 #8
0
        public static void SaveRequestDetails(Int32 id, string desc, string status, string result, DateTime expDate)
        {
            LINQDataContext db      = new LINQDataContext();
            REQUEST         request = (from e in db.REQUEST
                                       where e.id_request.Equals(id)
                                       select e).SingleOrDefault();

            request.description = desc;
            request.status      = status;
            request.result      = result;
            request.date_reg    = expDate;

            db.SubmitChanges();
        }
        private bool isPersonAlreadyInActivity(REQUEST membershipRequest)
        {
            var personAlreadyInActivity = _unitOfWork.MembershipRepository.Where(x => x.SESS_CDE == membershipRequest.SESS_CDE &&
                                                                                 x.ACT_CDE == membershipRequest.ACT_CDE && x.ID_NUM == membershipRequest.ID_NUM).Count() > 0;

            if (personAlreadyInActivity)
            {
                throw new ResourceCreationException()
                      {
                          ExceptionMessage = "You are already part of the activity."
                      };
            }

            return(true);
        }
예제 #10
0
        public static void FulfillRequestInformation(Int32 idre, string desc, string stat, string resu, DateTime datr, DateTime datf, Int32 idpe, string nrob)
        {
            LINQDataContext db      = new LINQDataContext();
            REQUEST         request = (from e in db.REQUEST
                                       where e.id_request.Equals(idre)
                                       select e).SingleOrDefault();

            request.description = desc;
            request.status      = stat;
            request.result      = resu;
            request.date_reg    = datr;
            request.date_fn_cn  = datf;
            request.id_personel = idpe;
            request.nr_object   = nrob;

            db.SubmitChanges();
        }
예제 #11
0
        public static void CreateEmptyRequest()
        {
            LINQDataContext db      = new LINQDataContext();
            REQUEST         request = new REQUEST();

            request.id_request  = GetRequestId();
            request.description = "";
            request.status      = "";
            request.result      = "";
            request.date_reg    = DateTime.Today;
            request.date_fn_cn  = DateTime.Today;
            request.id_personel = 1;
            request.nr_object   = GetDefaultVehicle(); // Alles klar

            db.REQUEST.InsertOnSubmit(request);
            db.SubmitChanges();
        }
            private REQUEST getFirstRequst(StatesMachine state)
            {
                REQUEST reqRes;

                if (_requests.Select(h => h.Key).Contains <StatesMachine> (state) == true)
                {
                    try {
                        reqRes = _requests.First(h => { return((h.Key == state) &&
                                                               (h.State == REQUEST.STATE.Ready)
                                                               ); });
                    } catch (Exception e) {
                        reqRes = new REQUEST(state, null);
                    }
                }
                else
                {
                    reqRes = new REQUEST(state, null);
                }

                return(reqRes);
            }
            private void func_Completed(string nameFunc, StatesMachine state, object obj, int err)
            {
                REQUEST req =
                    getFirstRequst(state)
                    //_handlers.Pop()
                ;

                if (req.IsEmpty == false)
                {
                    req.State = err == 0 ? REQUEST.STATE.Ok : REQUEST.STATE.Error;

                    //handler.Function.Invoke(obj, err);
                    EventCommandCompleted?.Invoke(req, obj as DataTable);

                    //Logging.Logg ().Debug ($"PanelAnalyzer.HLoggingReadHandlerDb::Command () - удалено {state}...", Logging.INDEX_MESSAGE.NOT_SET);
                    //_requests.Remove (req);
                }
                else
                {
                    ;
                }
            }
        /// <summary>
        /// Update an existing membership request object
        /// </summary>
        /// <param name="id">The membership request id</param>
        /// <param name="membershipRequest">The newly modified membership request</param>
        /// <returns></returns>
        public REQUEST Update(int id, REQUEST membershipRequest)
        {
            var original = _unitOfWork.MembershipRequestRepository.GetById(id);

            if (original == null)
            {
                return(null);
            }

            // The validate function throws ResourceNotFoundExceptino where needed. The exceptions are caught in my CustomExceptionFilter
            validateMembershipRequest(membershipRequest);

            // Only a few fields should be able to be changed through an update.
            original.SESS_CDE    = membershipRequest.SESS_CDE;
            original.COMMENT_TXT = membershipRequest.COMMENT_TXT;
            original.DATE_SENT   = membershipRequest.DATE_SENT;
            original.PART_CDE    = membershipRequest.PART_CDE;

            _unitOfWork.Save();

            return(original);
        }
예제 #15
0
파일: Rest.cs 프로젝트: inpinseptipin/Exams
        public static string sendRequest(REQUEST request, string url, GET_Weather parameters)
        {
            string responseString = string.Empty;

            if (request == REQUEST.GET)
            {
                var client = (HttpWebRequest)WebRequest.Create(url + parameters.getQueryString());
                client.Method        = request.ToString();
                client.ContentLength = 0;
                var response = (HttpWebResponse)client.GetResponse();
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(String.Format("Request Failed, HTTP Status Code : {0}", response.StatusCode));
                }

                var responseStream = response.GetResponseStream();
                if (responseStream != null)
                {
                    var streamReader = new StreamReader(responseStream);
                    responseString = streamReader.ReadToEnd();
                }
            }
            return(responseString);
        }
예제 #16
0
 /// <summary>
 /// Edit an request
 /// </summary>
 /// <param name="request">request object</param>
 public void EditRequest(REQUEST request)
 {
     //Change the state of the request object to modified, so it will be update in database
     db.Entry(request).State = EntityState.Modified;
     db.SaveChanges();
 }
예제 #17
0
 private static LogMessage Create(string message, object[] args)
 {
     return(REQUEST.Create(LogMessageLevel.INFO, message, args));
 }
예제 #18
0
 public SimvarRequest(SimVar variable, DEFINITION eDef, REQUEST eRequest)
 {
     this.Variable = variable;
     this.eDef     = eDef;
     this.eRequest = eRequest;
 }
예제 #19
0
        // ---------------------------------------------------------------------------
        // ---------------------------------------------------------------------------

        /**
         * This is called after writing the CollabrifyRequest_PB (if
         * useUnifiedServlet==true) and Request_XXXX_PB to the output stream. Derived
         * classes can override this method to write any trailing data. If the
         * TrailingDataWriteCallback provided in the constructor is not null, then the
         * default (non-overridden) version of this method will call it automatically.
         * If the callback is null, then this a no-op.
         *
         * @param outputStream
         *          The stream after the request has already been written.
         *
         * @param requestWrapper
         *          Provided for convenience. The CollabrifyRequest_PB if
         *          useUnifiedServlet is true; null, otherwise.
         *
         * @param requestObject
         *          Provided for convenience. If there is trailing data to be written,
         *          this should ALREADY contain a field specifying how many bytes will
         *          follow this object.
         *
         * @param connection
         *          The actual connection object. Use this to set headers, etc. Do NOT
         *          call connection.getOutputStream().
         *
         * @throws Exception
         *           All exceptions are passed up through the stack and can be caught
         *           at the call to execute().
         */
        public void doTrailingWriteCallback(OutputStream outputStream,
                                            CollabrifyRequest_PB requestWrapper, REQUEST requestObject,
                                            HttpURLConnection connection) throws Exception
예제 #20
0
        ///WHAT FOLLOWS ARE NON-SYSTEM GENERATED CONVENIENCE METHODS
        ///

        public PRIA_PACKAGE_Type GetFirstPackage()
        {
            return(REQUEST?.FirstOrDefault()
                   ?.PRIA_REQUEST?.FirstOrDefault()
                   ?.PACKAGE?.FirstOrDefault());
        }