Beispiel #1
0
        private void GetAccessTokenCallback(APICallbackArgs acArgs)
        {
            if (AccessTokenReceived != null)
            {
                OAuthResponseObject oroResponse = (OAuthResponseObject)acArgs.ResponseObject;

                if (acArgs.Succeeded)
                {
                    if (oroResponse.Response.ContainsKey("oauth_token") && oroResponse.Response.ContainsKey("oauth_token_secret"))
                    {
                        oroResponse.Credentials.Token          = oroResponse.Response["oauth_token"];
                        oroResponse.Credentials.TokenSecret    = oroResponse.Response["oauth_token_secret"];
                        oroResponse.Credentials.ClientUsername = oroResponse.Response["screen_name"];
                        APIReturn.SynchronizeInvoke(AccessTokenReceived, new object[4] {
                            this, true, "", oroResponse.Credentials
                        });
                    }
                    else
                    {
                        APIReturn.SynchronizeInvoke(AccessTokenReceived, new object[4] {
                            this, false, "An error occurred authenticating with the pin you supplied.  Please try again with the correct pin.", null
                        });
                    }
                }
                else
                {
                    APIReturn.SynchronizeInvoke(AccessTokenReceived, new object[4] {
                        this, false, acArgs.ErrorMessage, null
                    });
                }
            }
        }
Beispiel #2
0
        public async Task <ActionResult> Edit(string taskId, [Bind("taskId,TaskName,TaskDesc,CronExpressionString,CronRemark,IsDce,TaskUrl,IsActive")] TaskModel task)
        {
            TaskModel taskModel = await DbContext.Task.FindAsync(Guid.Parse(taskId));

            if (taskModel == null)
            {
                return(APIReturn.BuildFail("记录不存在"));
            }
            taskModel.TaskName             = task.TaskName;
            taskModel.TaskDesc             = task.TaskDesc;
            taskModel.CronExpressionString = task.CronExpressionString;
            taskModel.CronRemark           = task.CronRemark;
            taskModel.IsDce    = task.IsDce;
            taskModel.TaskUrl  = task.TaskUrl;
            taskModel.IsActive = task.IsActive;
            DbContext.Task.Update(taskModel);
            await DbContext.SaveChangesAsync();

            ICache.SetList <TaskModel>("task_list", delegate()
            {
                return(DbContext.Task.ToArray());
            });
            RabbitMQHelper.PublishMessage(ConnectionFactory, GlobalVariable.EXCHANGE, taskModel.TaskKey, taskModel.TaskID.ToString());
            return(APIReturn.BuildSuccess("修改成功"));
        }
Beispiel #3
0
        public IActionResult get_wx_order()
        {
            APIReturn apiReturn = null;
            WebParams ciac      = new WebParams(Request);

            ciac.Add("action", "wxpayms_getordid");
            CallResult cr = WebHttpClient.InvokeHttp("if2017", "dk", "wxpayms_getordid", HttpMethod.Get, ciac);

            if ((cr.Code != 0) || string.IsNullOrEmpty(cr.Message))
            {
                return(this.FuncResult(new APIReturn(10000, cr.Message)));
            }
            string[] msgs = cr.Message.Split(',');
            if ((int.Parse(msgs[0]) != 0) || (msgs.Length != 9))
            {
                return(this.FuncResult(new APIReturn(10000, string.Format($"{cr.Code}:{cr.Message}"))));
            }
            if (ciac["image"] == "image")
            {
                MemoryStream ms = new MemoryStream();
                GetQRCode(msgs[8], ms);
                ArraySegment <byte> data = new ArraySegment <byte>();
                ms.TryGetBuffer(out data);
                string str15 = Convert.ToBase64String(data.Array);
                msgs[8] = str15;
            }
            Hashtable ht = new Hashtable();

            ht["orderid"] = msgs[1];
            ht["code"]    = msgs[8];
            apiReturn     = new APIReturn(0, "", ht);
            return(this.FuncResult(apiReturn));
        }
Beispiel #4
0
        public async Task <IActionResult> PutTheme([FromRoute] int id, [FromBody] Theme theme)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != theme.themeId)
            {
                return(BadRequest());
            }

            _context.Entry(theme).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ThemeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #5
0
        public APIReturn RunJava(string code)
        {
            if (string.IsNullOrEmpty(code))
            {
                APIReturn.BuildFail("code不能为空");
            }

            string codeStr = code.Base64ToString();

            if (string.IsNullOrEmpty(code))
            {
                APIReturn.BuildFail("无效的code");
            }

            string path = Path.Combine(GetNewPath(), "Test.java");

            //System.IO.File.WriteAllText(path, codeStr, Encoding.UTF8);
            using (StreamWriter sw = System.IO.File.CreateText(path))
            {
                sw.WriteLine(codeStr);
                sw.Flush();
            }
            CmResult cr = cmd.RunJava(path);

            return(cr.Success ? APIReturn.BuildSuccess(cr.Message) : APIReturn.BuildFail(cr.ExecMsg));
        }
Beispiel #6
0
        public IActionResult get_wx_order_state([FromQuery] string orderid)
        {
            APIReturn apiReturn = null;

            if (string.IsNullOrEmpty(orderid))
            {
                apiReturn = new APIReturn(10000, $"参数不正确orderid={orderid}");
                return(this.FuncResult(apiReturn));
            }
            List <object> listobj = new List <object>();
            CallResult    cr      = WebHttpClient.InvokeHttp("if2017", "dk", "wxpayms_getordid", HttpMethod.Get, new object[] { "orderid", orderid, "action", "wxpaystate" });

            if (cr.Code == 0 || !string.IsNullOrEmpty(cr.Message))
            {
                char[]   separator = new char[] { '|' };
                string[] strArray  = cr.Message.Split(separator);
                if ((int.Parse(strArray[0]) == 0) && (cr.Message.Length > 2))
                {
                    apiReturn = new APIReturn(0, cr.Message.Substring(2));
                    return(this.FuncResult(apiReturn));
                }
            }
            apiReturn = new APIReturn(196021, $"获取订单状态失败code={cr.Code},message={cr.Message}");
            return(this.FuncResult(apiReturn));
        }
Beispiel #7
0
        /// <summary>
        /// 统一处理API返回值
        /// </summary>
        /// <param name="apiRet">API返回值</param>
        /// <returns>API返回值</returns>
        protected IActionResult FuncResult(APIReturn apiRet)
        {
            //根据不同策略可以返回纯文本、JSON、XML等格式
            apiRet.RequestID = this.RequestID;

            return(this.Json(apiRet));
        }
Beispiel #8
0
        public APIReturn Delete(int id)
        {
            try
            {
                bool isDeleted = rep.Delete(id);

                result = new APIReturn
                {
                    Content      = isDeleted == true ? true : false,
                    Message      = isDeleted == true ? "Excluído com sucesso" : "Não foi possível excluir",
                    ErrorMessage = isDeleted == false ? "Marca informada inexistente" : string.Empty
                };
            }
            catch (Exception ex)
            {
                result = new APIReturn
                {
                    StatusCode   = 500,
                    Message      = "Ocorreu um erro inesperado ao tendar deletar",
                    ErrorMessage = ex.Message
                };
            }

            return(result);
        }
Beispiel #9
0
        private void GetRequestTokenCallback(APICallbackArgs acArgs)
        {
            if (RequestTokenReceived != null)
            {
                OAuthResponseObject oroResponse = (OAuthResponseObject)acArgs.ResponseObject;

                if (acArgs.Succeeded)
                {
                    if (oroResponse.Response.ContainsKey("oauth_token") && oroResponse.Response.ContainsKey("oauth_token_secret"))
                    {
                        oroResponse.Credentials.Token       = oroResponse.Response["oauth_token"];
                        oroResponse.Credentials.TokenSecret = oroResponse.Response["oauth_token_secret"];
                        APIReturn.SynchronizeInvoke(RequestTokenReceived, new object[4] {
                            this, true, "", oroResponse.Credentials
                        });
                    }
                    else
                    {
                        APIReturn.SynchronizeInvoke(RequestTokenReceived, new object[4] {
                            this, false, "An error occurred retrieving a request token from Twitter.  Please try again.", null
                        });
                    }
                }
                else
                {
                    APIReturn.SynchronizeInvoke(RequestTokenReceived, new object[4] {
                        this, false, acArgs.ErrorMessage, null
                    });
                }
            }
        }
Beispiel #10
0
        public APIReturn Update(Marca toUpdate, int id)
        {
            try
            {
                var currentEntity = rep.GetSingle(id);
                currentEntity.Nome = toUpdate.Nome;

                result = new APIReturn
                {
                    Content      = JsonConvert.SerializeObject(rep.Update(currentEntity, id)),
                    Message      = string.IsNullOrEmpty(ObjectValidator.MarcaValidator(toUpdate)) ? "Atualizado com sucesso" : "Dados incorretos",
                    ErrorMessage = ObjectValidator.MarcaValidator(toUpdate)
                };
            }
            catch (Exception ex)
            {
                result = new APIReturn
                {
                    StatusCode   = 500,
                    Message      = "Ocorreu um erro inesperado ao tendar atualizar o registro",
                    ErrorMessage = ex.Message
                };
            }

            return(result);
        }
Beispiel #11
0
        private void HomeTimelineCallback(APICallbackArgs acArgs)
        {
            UserTimeline utInitial = (UserTimeline)acArgs.ResponseObject;

            for (int i = utInitial.Statuses.Count - 1; i >= 0; i--)
            {
                APIReturn.SynchronizeInvoke(Receive, new object[] { this, new JsonDocument(utInitial.Statuses[i].Object), ReceiveType.Tweet });
            }

            m_bscAPI.GetMentions(MentionsCallback, null);
        }
        public APIReturn DeleteAdminPermission([FromBody] string id)
        {
            APIReturn result = new APIReturn();

            if (int.TryParse(id, out var _id))
            {
                result = adminPermissionService.DeleteAdminPermission(_id);
            }

            return(result);
        }
Beispiel #13
0
        private void MentionsCallback(APICallbackArgs acArgs)
        {
            UserTimeline utInitial = (UserTimeline)acArgs.ResponseObject;

            for (int i = utInitial.Statuses.Count - 1; i >= 0; i--)
            {
                APIReturn.SynchronizeInvoke(Receive, new object[] { this, new JsonDocument(utInitial.Statuses[i].Object), ReceiveType.Reply });
            }

            EstablishStream();
        }
Beispiel #14
0
        public async Task <IActionResult> C([FromRoute] string act, string code)
        {
            if (string.IsNullOrEmpty(act))
            {
                return(APIReturn.BuildFail("无效的请求"));
            }
            if (string.IsNullOrEmpty(code))
            {
                return(APIReturn.BuildFail("code不能为空"));
            }
            string codeStr = code.Base64ToString();

            if (string.IsNullOrEmpty(codeStr))
            {
                return(APIReturn.BuildFail("无效的code"));
            }

            CmResult cm = null;

            if ("c".Equals(act))
            {
                cm = await coreService.C(codeStr);
            }
            else if ("cpp".Equals(act))
            {
                cm = await coreService.CPlusPlus(codeStr);
            }
            else if ("java".Equals(act))
            {
                cm = await coreService.Java(codeStr);
            }
            else if ("python".Equals(act))
            {
                cm = await coreService.Python(codeStr);
            }
            else if ("csharp".Equals(act))
            {
                cm = await coreService.CSharp(codeStr);
            }
            else if ("nodejs".Equals(act))
            {
                cm = await coreService.Nodejs(codeStr);
            }
            else
            {
                cm = CmResult.BuildFail("", "无效的请求");
            }
            if (cm.Success)
            {
                return(APIReturn.BuildSuccess(cm.Message));
            }
            return(APIReturn.BuildFail(cm.ExecMsg));
        }
Beispiel #15
0
        public async Task <ActionResult> Create([Bind("Name,Email")] UserModel user)
        {
            if (!ModelState.IsValid)
            {
                return(APIReturn.BuildFail("数据验证不通过"));
            }
            user.CreateTime = DateTime.Now;
            user.IsActive   = true;
            await DbContext.User.AddAsync(user);

            DbContext.SaveChanges();
            return(APIReturn.BuildSuccess("添加成功"));
        }
Beispiel #16
0
        private void RequestCallback(RestRequest rrqRequest, RestResponse rrsResponse, object objUserState)
        {
            try
            {
                StreamReader srReader = new StreamReader(rrsResponse.ContentStream, Encoding.UTF8);
                string       sCurLine;

                do
                {
                    sCurLine = srReader.ReadLine().Trim();
                } while ((sCurLine == "") && (!srReader.EndOfStream));

                JsonDocument jdFinal = JsonParser.GetParser().ParseString(sCurLine);

                if (jdFinal != null)
                {
                    if (jdFinal.Root.IsNode())
                    {
                        if (jdFinal.Root.ToNode().ContainsKey("friends"))
                        {
                            //this is the friends list that's sent at the beginning of each userstream connection
                            APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.FriendsList);
                        }
                        else if (jdFinal.Root.ToNode().ContainsKey("retweeted"))
                        {
                            Status stNewStatus = new Status(jdFinal.Root.ToNode());

                            if (stNewStatus.IsReply && stNewStatus.ReplyNames.Contains(m_oaCredentials.ClientUsername))
                            {
                                APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.Reply);
                            }
                            else
                            {
                                APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.Tweet);
                            }
                        }
                        else if (jdFinal.Root.ToNode().ContainsKey("recipient_id") && jdFinal.Root.ToNode().ContainsKey("sender_id"))
                        {
                            DirectMessage dmNewMessage = new DirectMessage(jdFinal.Root.ToNode());
                            APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.DirectMessage);
                        }

                        //also need to add OnDelete for when a tweet gets deleted
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("An unknown Twitter API error has occurred (user streams). " + e.Message, "API Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Beispiel #17
0
        private void GetUserObjectCallback(APICallbackArgs acArgs)
        {
            List <User> luResponseList = (List <User>)acArgs.ResponseObject;

            if (luResponseList.Count > 0)
            {
                m_uUserObject = luResponseList[0];

                if (UserObjectReceived != null)
                {
                    APIReturn.SynchronizeInvoke(UserObjectReceived, this, EventArgs.Empty);
                }
            }
        }
Beispiel #18
0
        public async Task <ActionResult> Create([Bind("TaskName,TaskDesc,CronExpressionString,CronRemark,UID,TaskKey,IsDce,TaskUrl")] TaskModel task)
        {
            task.IsActive = true;
            await DbContext.Task.AddAsync(task);

            await DbContext.SaveChangesAsync();

            ICache.SetList <TaskModel>("task_list", delegate()
            {
                return(DbContext.Task.ToArray());
            });
            RabbitMQHelper.PublishMessage(ConnectionFactory, GlobalVariable.EXCHANGE, task.TaskKey, task.TaskID.ToString());
            return(APIReturn.BuildSuccess("添加成功"));
        }
Beispiel #19
0
        public async Task <IActionResult> PostPreset([FromBody] Preset preset)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            preset.dateCreated = DateTime.Now;
            _context.Preset.Add(preset);
            await _context.SaveChangesAsync();

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #20
0
        public async Task <IActionResult> PostTheme([FromBody] Theme theme)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Theme.Add(theme);
            await _context.SaveChangesAsync();

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #21
0
        public async Task <IActionResult> PostAwards([FromBody] Awards awards)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            awards.dateCreated = DateTime.Now;
            _context.Awards.Add(awards);
            await _context.SaveChangesAsync();

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #22
0
        public async Task <IActionResult> PutVisits([FromRoute] int id, [FromBody] Visits visits)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //if (id != visits.visitId)
            //{
            //    return BadRequest();
            //}
            //_context.Entry(visits).State = EntityState.Modified;
            var list = await _context.Visits.AsNoTracking().ToListAsync();

            //list.Where(s => s.visitId == id);
            foreach (Visits v in list)
            {
                if (v.visitId == id)
                {
                    visits.dateCreated = v.dateCreated;
                    visits.visitDate   = v.visitDate;
                    break;
                }
            }
            try
            {
                visits.visitId = id;
                //return Ok("开始更新" + visits.dateCreated + "   " + visits.GetType()+"  "+visits.visitId);
                _context.Update(visits);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException e)
            {
                if (!VisitsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    return(BadRequest(e.Message.ToString()));
                }
            }

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #23
0
        public async Task <IActionResult> PostShortCourses([FromBody] ShortCourses shortCourses)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            shortCourses.dateCreated = DateTime.Now;
            _context.ShortCourses.Add(shortCourses);
            await _context.SaveChangesAsync();

            //return CreatedAtAction("GetShortCourses", new { id = shortCourses.courseId }, shortCourses);
            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #24
0
        public void OnException(ExceptionContext context)
        {
            context.ExceptionHandled = true;

            ILogger logger = context.HttpContext.Items["__requestLogger"] as ILogger;

            if (logger != null)
            {
                string requestID = RequestIDModel.GetRequestID(context.HttpContext);
                logger.LogCritical("{0} {1}", requestID, context.Exception);

                APIReturn apiRet = new APIReturn(-98, $"未知系统错误:{context.Exception.Message}");
                apiRet.RequestID = requestID;
                context.Result   = new JsonResult(apiRet);
            }
        }
Beispiel #25
0
        private void DoRequestCallback(RestRequest rrqRequest, RestResponse rrsResponse, object objUserState)
        {
            RestResponseHash rrhResponse   = new RestResponseHash(rrsResponse);
            APIReturn        aprReturn     = (APIReturn)objUserState;
            OAuthCredentials oaCredentials = (OAuthCredentials)aprReturn.CallbackArg;
            string           sErrorMessage = "";

            if (rrsResponse.InnerException != null)
            {
                sErrorMessage = rrsResponse.InnerException.Message;
            }

            APICallbackArgs acArgs = new APICallbackArgs(rrsResponse.StatusCode == HttpStatusCode.OK, sErrorMessage, new OAuthResponseObject(rrhResponse, oaCredentials));

            aprReturn.SynchronizeInvoke(new object[] { acArgs });
        }
Beispiel #26
0
        public async Task <IActionResult> PutAwards([FromRoute] int id, [FromBody] Awards awards)
        {
            if (!ModelState.IsValid)
            {
                APIReturn re4 = new APIReturn();
                re4.Status = "Failed";
                return(BadRequest(re4));
            }

            if (id != awards.awardId)
            {
                APIReturn re2 = new APIReturn();
                re2.Status = "Failed";
                return(BadRequest(re2));
            }

            //_context.Entry(awards).State = EntityState.Modified;
            var list = await _context.Awards.AsNoTracking().SingleAsync(s => s.awardId == id);

            awards.dateCreated = list.dateCreated;
            awards.awardId     = id;
            try
            {
                _context.Update(awards);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AwardsExists(id))
                {
                    APIReturn re1 = new APIReturn();
                    re1.Status = "Failed";
                    return(BadRequest(re1));
                }
                else
                {
                    throw;
                }
            }

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }
Beispiel #27
0
        public APIReturn RunCsharp(string code)
        {
            if (string.IsNullOrEmpty(code))
            {
                APIReturn.BuildFail("code不能为空");
            }

            string codeStr = code.Base64ToString();

            if (string.IsNullOrEmpty(code))
            {
                APIReturn.BuildFail("无效的code");
            }

            CmResult cr = cmd.RunCSharp(codeStr);

            return(cr.Success ? APIReturn.BuildSuccess(cr.Message) : APIReturn.BuildFail(cr.ExecMsg));
        }
Beispiel #28
0
        /// <summary>
        /// 寫入 後台使用者操作 Log 紀錄
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public APIReturn AddAdminLog(AdminLog requestModel)
        {
            var rtnMessage = "";
            var res        = new APIReturn(APIReturnCode.Fail, rtnMessage);

            try
            {
                //找出該 操作人員
                var admin = db.TblAdmin.Find(requestModel.Operator);

                //如果有找到
                if (admin?.Id != null)
                {
                    var log = new TblOperationLog()
                    {
                        Operator    = admin.Id,
                        Type        = requestModel.Type,
                        Code        = requestModel.Code,
                        Name        = requestModel.Name,
                        Remark      = requestModel.Remark,
                        Parameter   = requestModel.Parameter,
                        Ip          = requestModel.Ip,
                        RequestTime = DateTimeTools.Now(),
                    };

                    db.TblOperationLog.Add(log);

                    db.SaveChanges();

                    res = new APIReturn(APIReturnCode.Success, "後台 Log 寫入成功");
                }
                else
                {
                    res = new APIReturn(APIReturnCode.Fail, "無該使用者");
                }

                return(res);
            }
            catch (Exception ex)
            {
                res = new APIReturn(APIReturnCode.Exception, ex);
                return(res);
            }
        }
Beispiel #29
0
        protected void DoRequest(string sEndpoint, WebMethod wmTransferType, Dictionary<string, string> dssParams, APIReturn aprReturn)
        {
            RestRequest rrRequest = new RestRequest();

            rrRequest.Path = sEndpoint;
            m_oaCredentials.Type = OAuthType.ProtectedResource;
            m_oaCredentials.Verifier = null;

            foreach (KeyValuePair<string, string> kvpCur in dssParams)
                rrRequest.AddParameter(kvpCur.Key, kvpCur.Value);

            RestClient rcClient = new RestClient
            {
                Authority = C_BASE_URL,
                VersionPath = "1",
                Credentials = m_oaCredentials,
                Method = wmTransferType
            };

            rcClient.BeginRequest(rrRequest, DoRequestCallback, aprReturn);
        }
Beispiel #30
0
        public APIReturn RunCPlusPlus(string code)
        {
            if (string.IsNullOrEmpty(code))
            {
                APIReturn.BuildFail("code不能为空");
            }

            string codeStr = code.Base64ToString();

            if (string.IsNullOrEmpty(code))
            {
                APIReturn.BuildFail("无效的code");
            }

            string path = Path.Combine(GetNewPath(), $"{Guid.NewGuid().ToString("N")}.cpp");

            System.IO.File.WriteAllText(path, codeStr, Encoding.UTF8);
            CmResult cr = cmd.RunCPlusPlus(path);

            return(cr.Success ? APIReturn.BuildSuccess(cr.Message) : APIReturn.BuildFail(cr.ExecMsg));
        }
Beispiel #31
0
        public async Task <IActionResult> PutShortCourses([FromRoute] int id, [FromBody] ShortCourses shortCourses)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != shortCourses.courseId)
            {
                return(BadRequest());
            }

            // _context.Entry(shortCourses).State = EntityState.Modified;
            var list = await _context.ShortCourses.AsNoTracking().SingleAsync(s => s.courseId == id);

            shortCourses.dateCreated = list.dateCreated;
            shortCourses.courseId    = id;

            try
            {
                _context.Update(shortCourses);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ShortCoursesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            APIReturn re = new APIReturn();

            re.Status = "success";
            return(Ok(re));
        }