public ActionResult Add(ResourceAddViewModel resourceVM, IFormCollection formCollection)
        {
            SetSessionVariables();

            resourceVM.CreatedBy       = GetSessionObject().UserID;
            resourceVM.CreatedDateTime = DateTime.Now;


            string DuplicateName = "";
            string OriginalName  = "";

            //Convert.ToString(ConfigurationManager.AppSettings["ResourceFilePath"]);

            string UploadRootPath      = "resource";
            string uploadsFolder       = "\\image\\";
            string serverUploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, UploadRootPath);

            serverUploadsFolder += uploadsFolder;
            if (!Directory.Exists(serverUploadsFolder))
            {
                Directory.CreateDirectory(serverUploadsFolder);
            }

            //Resource image uploader
            if (resourceVM.ResourcePlanFile != null)
            {
                OriginalName = resourceVM.ResourcePlanFile.FileName;
                string extension = Path.GetExtension(OriginalName);
                DuplicateName = DateTime.Now.ToString("yyyyMMddHHmmss") + extension;

                string filePath = Path.Combine(serverUploadsFolder, DuplicateName);
                resourceVM.ResourcePlanFile.CopyTo(new FileStream(filePath, FileMode.Create));
                resourceVM.ResourceFilePath = "\\" + UploadRootPath + uploadsFolder + DuplicateName;
            }

            Resource resource = resourceVM.GetObject();

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Common.Instance.ApiResourceControllerName);

                    var postTask = client.PostAsJsonAsync <Resource>(Common.Instance.ApiResourceAdd, resource);
                    postTask.Wait();

                    var result = postTask.Result;

                    if (result.IsSuccessStatusCode)
                    {
                        var readTask = result.Content.ReadAsAsync <ServiceResult <Resource> >().Result;
                    }
                }
            }
            catch
            {
                ModelState.AddModelError(string.Empty, "Server error. Please contact administrator");
            }
            return(RedirectToAction("List"));
        }
        public async Task <ActionResult> Add()
        {
            SetSessionVariables();

            ServiceResult <List <ResourceResponse> > result = null;

            List <ResourceResponse> resourceTypes = null;

            ResourceAddViewModel model = new ResourceAddViewModel();

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Common.Instance.ApiResourceMasterControllerName);
                    var readTask = await client.GetAsync(Common.Instance.ApiResourceMasterGetTypes);

                    result = await readTask.Content.ReadAsAsync <ServiceResult <List <ResourceResponse> > >();

                    resourceTypes = result.Result;

                    model = new ResourceAddViewModel();
                    model.SetViewModel(resourceTypes);
                }
            }
            catch
            {
                ModelState.AddModelError(string.Empty, "Server error.Please contact administrator");
            }
            return(View(model));
        }