Example #1
0
        public ActionResult <EditSiteResponseModel> UpdateSite([FromBody] EditSiteResultInputModel data)
        {
            EditSiteResponseModel res = new EditSiteResponseModel();

            try
            {
                SiteBL bl   = new SiteBL(DbContext);
                var    temp = bl.Edit(data);

                res.data     = temp;
                res.Message  = "Success";
                res.Response = true;

                return(Ok(res));
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;

                return(BadRequest(res));
            }
        }
Example #2
0
        public ActionResult DropzoneImages()
        {
            bool      isSavedSuccessfully = false;
            IFormFile file        = Request.Form.Files[0];
            string    folderName  = "Upload\\Image";
            string    folderroot  = "wwwroot";
            string    webRootPath = "";

            if (HttpContext.Session.GetString(SessionKeyDomain) != null && HttpContext.Session.GetString(SessionKeyDomain) != "")
            {
                webRootPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            }
            else
            {
                webRootPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location.Substring(0, Assembly.GetEntryAssembly().Location.IndexOf("bin\\")));
            }
            string newPath = Path.Combine(webRootPath, folderroot, folderName);

            if (!Directory.Exists(newPath))
            {
                Directory.CreateDirectory(newPath);
            }
            string fullPath = Path.Combine(newPath, file.FileName);

            //using (var stream = new FileStream(fullPath, FileMode.Create))
            //{
            //	file.CopyTo(stream);
            //}

            #region getSite
            var      ID   = Guid.Parse("8531496F-9009-48D6-9A97-7B25877C1D30");
            EditSite site = new EditSite();
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(BaseAPI + "Site/");
                //HTTP POST
                SiteDetailInputModel filter = new SiteDetailInputModel();
                filter.SiteID = ID;                // Guid.Parse(ID);
                var postTask = client.PostAsJsonAsync <SiteDetailInputModel>("GetSite", filter);
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var content = result.Content.ReadAsStringAsync();
                    SiteDetailResponseModel resutl = Newtonsoft.Json.JsonConvert.DeserializeObject <SiteDetailResponseModel>(content.Result);
                    site.val = resutl.data;

                    if (site.val != null)
                    {
                        #region UpdateSite
                        string userID = HttpContext.Session.GetString(SessionKeyID);
                        EditSiteResultInputModel dataSite = new EditSiteResultInputModel();
                        dataSite.UserID = Guid.Parse(userID);
                        #region DataDetail
                        EditSiteDetailInputModel Detail = new EditSiteDetailInputModel();
                        Detail.SiteID      = Guid.Parse(site.val.Detail.SiteID.ToString());
                        Detail.NoBillboard = site.val.Detail.NoBillboard;
                        Detail.Pulau       = site.val.Detail.Pulau;
                        Detail.Kota        = site.val.Detail.Kota;
                        Detail.Provinsi    = site.val.Detail.Provinsi;
                        Detail.Cabang      = site.val.Detail.Cabang;
                        Detail.HorV        = site.val.Detail.HorV;
                        Detail.Tipe        = site.val.Detail.Tipe;
                        Detail.Longitude   = site.val.Detail.Longitude;
                        Detail.Latitude    = site.val.Detail.Latitude;
                        #endregion
                        dataSite.Detail = Detail;
                        if (site.val.Item != null && site.val.Item.Count > 0)
                        {
                            foreach (SiteDetailItemModel Item in site.val.Item)
                            {
                                #region DataPrice
                                if (Item.Price != null)
                                {
                                    List <EditSitePriceInputModel> listdata = new List <EditSitePriceInputModel>();
                                    foreach (var p in Item.Price)
                                    {
                                        EditSitePriceInputModel data = new EditSitePriceInputModel();
                                        data.Dasar       = p.Dasar;
                                        data.HargaAwal   = p.HargaAwal;
                                        data.HargaAkhir  = p.HargaAkhir;
                                        data.SitePriceID = Guid.Parse(p.SitePriceID.ToString());
                                        data.Kelipatan   = p.Kelipatan;
                                        listdata.Add(data);
                                    }
                                    dataSite.Price = listdata;
                                }
                                #endregion
                                #region DataImage
                                if (Item.Image != null)
                                {
                                    List <EditSiteImageInputModel> listdatas = new List <EditSiteImageInputModel>();
                                    foreach (var i in Item.Image)
                                    {
                                        EditSiteImageInputModel datas = new EditSiteImageInputModel();
                                        datas.SiteImageID = Guid.Parse(i.SiteImageID.ToString());
                                        datas.Image       = i.Image;
                                        listdatas.Add(datas);
                                    }
                                    EditSiteImageInputModel data = new EditSiteImageInputModel();
                                    data.SiteImageID = Guid.NewGuid();
                                    data.Image       = fullPath;
                                    listdatas.Add(data);
                                    dataSite.Image = listdatas;
                                }
                                else
                                {
                                    List <EditSiteImageInputModel> listdata = new List <EditSiteImageInputModel>();
                                    EditSiteImageInputModel        data     = new EditSiteImageInputModel();
                                    data.SiteImageID = Guid.NewGuid();
                                    data.Image       = fullPath;
                                    listdata.Add(data);
                                    dataSite.Image = listdata;
                                }
                                #endregion
                            }
                        }
                        JsonConvert.SerializeObject(dataSite);
                        using (var clients = new HttpClient())
                        {
                            clients.BaseAddress = new Uri(BaseAPI + "Site/");
                            //HTTP POST
                            var postTasks = client.PostAsJsonAsync <EditSiteResultInputModel>("UpdateSite", dataSite);
                            postTasks.Wait();

                            var results = postTasks.Result;
                            if (results.IsSuccessStatusCode)
                            {
                                using (var stream = new FileStream(fullPath, FileMode.Create))
                                {
                                    file.CopyTo(stream);
                                }
                                //return RedirectToAction("Index", "Site");
                            }
                        }
                        #endregion
                    }
                }
                else                 //web api sent error response
                {
                    //log response status here..
                    site.val = null;

                    ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
                }
            }
            #endregion

            //foreach (string fileName in Request.Form.Files[0].ToString())
            //{
            //	HttpPostedFileBase file = Request.Files[fileName];

            //	//You can Save the file content here

            //	isSavedSuccessfully = true;
            //}
            return(Json(new { Message = string.Empty }));
        }