public async Task <ActionResult> Edit([Bind(Include = "ID,ProjectBudgetID,TransactionRef,ShortText,LocalFilePath,FileName,FiscalYear,Period,TransactionDate,EntryDate,TotalAmount,CreatedDate, isDeleted,TimeStamp,OrganizationID,ProjectID,UserId")] ProjectTransactionHeader projectTransactionHeader)
        {
            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(baseurl);
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                    HttpResponseMessage Res = await client.PutAsJsonAsync($"api/ProjectTransactionHeaders/{projectTransactionHeader.ID}", projectTransactionHeader);

                    if (Res.IsSuccessStatusCode)
                    {
                        this.AddNotification("Project TransactionHeader information modified successfully", NotificationType.SUCCESS);
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        this.AddNotification("Project TransactionHeader information cannot be modified at this time. Please contact Administrator", NotificationType.ERROR);
                        return(View());
                    }
                }
            }
            ViewBag.OrganizationID = await OrganizationSelectListByModel(token, projectTransactionHeader.OrganizationID);

            ViewBag.ProjectID = await ProjectSelectListByModel(token, projectTransactionHeader.ProjectID);

            ViewBag.ProjectBudgetID = await ProjectBudgetSelectListByModel(token, projectTransactionHeader.ProjectBudgetID);

            return(View(projectTransactionHeader));
        }
        public async Task <ActionResult> Details(int?id)
        {
            #region USERVALIDATION
            token = (string)(Session["accessToken"]);
            string userID = (string)(Session["UserID"]);
            #endregion

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            List <ProjectTransactionHeader> projectTransactionHeader = new List <ProjectTransactionHeader>();


            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                HttpResponseMessage Res = await client.GetAsync($"api/ProjectTransactionHeaders/{id}");

                if (Res.IsSuccessStatusCode)
                {
                    var projectTransactionHeaderResponse = Res.Content.ReadAsStringAsync().Result;
                    ProjectTransactionHeader myProjectTransactionHeader = JsonConvert.DeserializeObject <ProjectTransactionHeader>(projectTransactionHeaderResponse);
                    return(View(myProjectTransactionHeader));
                }
                else
                {
                    this.AddNotification("Unable to display Project TransactionHeader information,please contact Administrator" + Res, NotificationType.ERROR);
                    return(View());
                }
            }
        }
        public async Task <ActionResult> Create([Bind(Include = "ID,ProjectBudgetID,TransactionRef,ShortText,LocalFilePath,FileName,FiscalYear,Period,TransactionDate,EntryDate,TotalAmount,CreatedDate, isDeleted,TimeStamp,OrganizationID,ProjectID,UserId")] ProjectTransactionHeader projectTransactionHeader)
        {
            #region USERVALIDATION
            token = (string)(Session["accessToken"]);
            string userID = (string)(Session["UserID"]);
            #endregion

            if (ModelState.IsValid)
            {
                HttpPostedFileBase file          = Request.Files["file"];
                string             localfilepath = string.Empty;
                string             filename      = string.Empty;
                if (file.ContentLength > 0)
                {
                    var fileName = Path.GetFileName(file.FileName);
                    var path     = Path.Combine(Server.MapPath("~/DocumentManagement/ProjectTransactions"), fileName);
                    file.SaveAs(path);
                    localfilepath = clientpath + fileName;
                    filename      = fileName.ToString();
                }
                ;

                projectTransactionHeader.CreatedDate   = DateTime.Now;
                projectTransactionHeader.isDeleted     = false;
                projectTransactionHeader.TimeStamp     = DateTime.Now;
                projectTransactionHeader.UserId        = userID;
                projectTransactionHeader.LocalFilePath = localfilepath;
                projectTransactionHeader.FileName      = filename;

                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(baseurl);
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                    HttpResponseMessage Res = await client.PostAsJsonAsync("api/ProjectTransactionHeaderss", projectTransactionHeader);

                    if (Res.IsSuccessStatusCode)
                    {
                        this.AddNotification("Project TransactionHeader created successfully", NotificationType.SUCCESS);
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        this.AddNotification("Project TransactionHeader cannot be created at this time. Please contact Administrator" + Res, NotificationType.ERROR);
                        return(View());
                    }
                }
            }


            ViewBag.OrganizationID = await OrganizationSelectListByModel(token, projectTransactionHeader.OrganizationID);

            ViewBag.ProjectID = await ProjectSelectListByModel(token, projectTransactionHeader.ProjectID);

            ViewBag.ProjectBudgetID = await ProjectBudgetSelectListByModel(token, projectTransactionHeader.ProjectBudgetID);

            return(View(projectTransactionHeader));
        }