示例#1
0
        public int InsertJob(JobInsertRequest model)
        {
            int id = 0;

            DataProvider.ExecuteNonQuery(GetConnection, "dbo.Jobs_Insert"
                                         , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@UserId", model.UserId);
                paramCollection.AddWithValue("@Status", (int)JobStatus.Draft);
                paramCollection.AddWithValue("@JobType", model.JobType);
                paramCollection.AddWithValue("@Price", model.Price);
                paramCollection.AddWithValue("@Phone", model.Phone);
                paramCollection.AddWithValue("@JobRequest", model.JobRequest);
                paramCollection.AddWithValue("@SpecialInstructions", model.SpecialInstructions);
                paramCollection.AddWithValue("@WebsiteId", model.WebsiteId);
                paramCollection.AddWithValue("@ExternalCustomerId", model.ExternalCustomerId);

                SqlParameter p = new SqlParameter("@Id", System.Data.SqlDbType.Int);
                p.Direction    = System.Data.ParameterDirection.Output;

                paramCollection.Add(p);
            }, returnParameters : delegate(SqlParameterCollection param)
            {
                int.TryParse(param["@Id"].Value.ToString(), out id);
            });


            return(id);
        }
        public HttpResponseMessage JobInsert(JobInsertRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            ItemResponse <int> response = new ItemResponse <int>();
            UserProfile        user     = null;

            // Check to see if user is logged use userservice.isloggedin
            if (UserService.IsLoggedIn())
            {
                user = _UserProfileService.GetUserById(UserService.GetCurrentUserId());

                model.UserId = user.UserId;
                model.Phone  = user.Phone;

                if (user.ExternalUserId != null)
                {
                    int extId = 0;

                    int.TryParse(user.ExternalUserId, out extId);

                    if (extId > 0)
                    {
                        model.ExternalCustomerId = extId;
                    }
                    else
                    {
                        //  TODO: get user by phone number from bringg, grab their id, update userProfile table so we have it for this user
                        //  if they do not exist at bringg we must create them, link their acct to externalCustomerId in our db and use that customer id
                    }
                }
            }
            //we need an email

            int tempJobId = _JobsService.InsertJob(model);

            response.Item = tempJobId;

            //Activity Log Service


            if (user != null && user.UserId != null)
            {
                ActivityLogRequest Activity = new ActivityLogRequest();

                Activity.ActivityType = ActivityTypeId.CreatedJob;

                Activity.JobId       = tempJobId;
                Activity.TargetValue = (int)JobStatus.BringgCreated;

                _ActivityLogService.InsertActivityToLog(model.UserId, Activity);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
示例#3
0
        public HttpResponseMessage JobInsert(JobInsertRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            ItemResponse <int> response = new ItemResponse <int>();
            UserProfile        user     = null;

            // Check to see if user is logged use userservice.isloggedin
            if (UserService.IsLoggedIn())
            {
                user = _UserProfileService.GetUserById(UserService.GetCurrentUserId());

                model.UserId = user.UserId;
                model.Phone  = user.Phone;

                if (user.ExternalUserId != null)
                {
                    int extId = 0;

                    int.TryParse(user.ExternalUserId, out extId);

                    if (extId > 0)
                    {
                        model.ExternalCustomerId = extId;
                    }
                }
            }

            int tempJobId = _JobsService.InsertJob(model);

            response.Item = tempJobId;

            //Activity Log Service
            if (user != null && user.UserId != null)
            {
                ActivityLogRequest Activity = new ActivityLogRequest();

                Activity.ActivityType = ActivityTypeId.CreatedJob;

                Activity.JobId       = tempJobId;
                Activity.TargetValue = (int)JobStatus.BringgCreated;

                _ActivityLogService.InsertActivityToLog(model.UserId, Activity);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }