Esempio n. 1
0
        public async Task <IActionResult> Post([FromForm] CentralPolicyProvinceViewModel model)
        {
            //var eiei = model.StartDate;
            //System.Console.WriteLine("test: " + eiei);
            //return Ok(model);
            var date = DateTime.Now;
            var centralpolicydata = new CentralPolicy
            {
                Title        = model.Title,
                Type         = model.Type,
                FiscalYearId = model.FiscalYearId,
                StartDate    = model.StartDate,
                EndDate      = model.EndDate,
                Status       = model.Status,
                CreatedAt    = date,
                CreatedBy    = model.UserID,
                Class        = model.Class,
            };

            _context.CentralPolicies.Add(centralpolicydata);
            _context.SaveChanges();

            foreach (var id in model.ProvinceId)
            {
                var centralpolicyprovincedata = new CentralPolicyProvince
                {
                    ProvinceId      = id,
                    CentralPolicyId = centralpolicydata.Id,
                    Step            = "มอบหมายเขต"
                };
                _context.CentralPolicyProvinces.Add(centralpolicyprovincedata);
            }
            _context.SaveChanges();

            int index    = 0;
            int indexend = 0;

            foreach (var item in model.StartDate2)
            {
                var CentralPolicyDate = new CentralPolicyDate
                {
                    CentralPolicyId = centralpolicydata.Id,
                    StartDate       = item,
                    //EndDate = item.EndDate,
                };
                _context.CentralPolicyDates.Add(CentralPolicyDate);
                _context.SaveChanges();

                var id = _context.CentralPolicyDates.Find(CentralPolicyDate.Id);

                indexend = 0;

                foreach (var itemend in model.EndDate2)
                {
                    if (index == indexend)
                    {
                        id.EndDate = itemend;

                        System.Console.WriteLine("END: " + indexend);
                    }
                    indexend++;
                }

                index++;

                System.Console.WriteLine("Start: " + index);
            }



            //int maxSize = Int32.Parse(ConfigurationManager.AppSettings["MaxFileSize"]);
            //var size = data.files.Sum(f => f.Length);

            //ตรวจสอบว่ามี Folder Upload ใน wwwroot มั้ย
            if (!Directory.Exists(_environment.WebRootPath + "//Uploads//"))
            {
                Directory.CreateDirectory(_environment.WebRootPath + "//Uploads//"); //สร้าง Folder Upload ใน wwwroot
            }

            //var BaseUrl = url.ActionContext.HttpContext.Request.Scheme;
            // path ที่เก็บไฟล์
            var filePath = _environment.WebRootPath + "//Uploads//";


            if (model.files != null)
            {
                foreach (var formFile in model.files.Select((value, index) => new { Value = value, Index = index }))
                //foreach (var formFile in data.files)
                {
                    var    random    = RandomString(10);
                    string filePath2 = formFile.Value.FileName;
                    string filename  = Path.GetFileName(filePath2);
                    string ext       = Path.GetExtension(filename);

                    if (formFile.Value.Length > 0)
                    {
                        // using (var stream = System.IO.File.Create(filePath + formFile.Value.FileName))
                        using (var stream = System.IO.File.Create(filePath + random + filename))
                        {
                            await formFile.Value.CopyToAsync(stream);
                        }

                        var CentralPolicyFile = new CentralPolicyFile
                        {
                            CentralPolicyId = centralpolicydata.Id,
                            Name            = random + filename,
                        };
                        _context.CentralPolicyFiles.Add(CentralPolicyFile);
                        _context.SaveChanges();
                    }
                }
            }
            return(Ok(centralpolicydata.Id));
        }
Esempio n. 2
0
        public async Task <IActionResult> Put([FromForm] CentralPolicyProvinceViewModel model, long editId)
        {
            //var eiei = model.StartDate;
            System.Console.WriteLine("test: " + editId);
            var user = model.UserID;

            System.Console.WriteLine("User: "******"แผนการตรวจประจำปี";
            };

            //_context.CentralPolicies.Add(centralpolicydata);
            _context.Entry(centralpolicydata).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            _context.SaveChanges();

            var delData = _context.CentralPolicyProvinces
                          .Where(x => x.CentralPolicyId == editId)
                          .ToList();

            foreach (var del in delData)
            {
                _context.CentralPolicyProvinces.Remove(del);
            }
            _context.SaveChanges();

            foreach (var id in model.ProvinceId)
            {
                System.Console.WriteLine("in2");
                var centralpolicyprovincedata = new CentralPolicyProvince
                {
                    ProvinceId      = id,
                    CentralPolicyId = editId,
                };
                _context.CentralPolicyProvinces.Add(centralpolicyprovincedata);
                //_context.Entry(centralpolicyprovincedata).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            }
            _context.SaveChanges();

            var deleteDate = _context.CentralPolicyDates
                             .Where(x => x.CentralPolicyId == editId)
                             .ToList();

            foreach (var delDate in deleteDate)
            {
                _context.CentralPolicyDates.Remove(delDate);
            }
            _context.SaveChanges();

            int index    = 0;
            int indexend = 0;

            foreach (var item in model.StartDate2)
            {
                var CentralPolicyDate = new CentralPolicyDate
                {
                    CentralPolicyId = centralpolicydata.Id,
                    StartDate       = item
                                      //EndDate = item.EndDate,
                };
                _context.CentralPolicyDates.Add(CentralPolicyDate);
                //_context.Entry(CentralPolicyDate).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                _context.SaveChanges();

                var id = _context.CentralPolicyDates.Find(CentralPolicyDate.Id);

                indexend = 0;

                foreach (var itemend in model.EndDate2)
                {
                    if (index == indexend)
                    {
                        id.EndDate = itemend;

                        System.Console.WriteLine("END: " + indexend);
                    }
                    indexend++;
                }

                index++;
                _context.SaveChanges();
                System.Console.WriteLine("Start: " + index);
            }

            System.Console.WriteLine("FINISH");

            //if (model.files != null) {

            //    var delFile = _context.CentralPolicyFiles
            //               .Where(x => x.CentralPolicyId == editId)
            //               .ToList();

            //    foreach (var del in delFile)
            //    {
            //        _context.CentralPolicyFiles.Remove(del);
            //    }
            //    _context.SaveChanges();
            //    System.Console.WriteLine("in1");
            //}

            //int maxSize = Int32.Parse(ConfigurationManager.AppSettings["MaxFileSize"]);
            //var size = data.files.Sum(f => f.Length);

            //ตรวจสอบว่ามี Folder Upload ใน wwwroot มั้ย
            if (!Directory.Exists(_environment.WebRootPath + "//Uploads//"))
            {
                System.Console.WriteLine("in2");
                Directory.CreateDirectory(_environment.WebRootPath + "//Uploads//"); //สร้าง Folder Upload ใน wwwroot
            }

            //var BaseUrl = url.ActionContext.HttpContext.Request.Scheme;
            // path ที่เก็บไฟล์
            var filePath = _environment.WebRootPath + "//Uploads//";


            System.Console.WriteLine("testJa: " + model.files);

            if (model.files != null)
            {
                foreach (var formFile in model.files.Select((value, index) => new { Value = value, Index = index }))
                //foreach (var formFile in data.files)
                {
                    var random = RandomString(10);
                    System.Console.WriteLine("in3");
                    string filePath2 = formFile.Value.FileName;
                    string filename  = Path.GetFileName(filePath2);
                    string ext       = Path.GetExtension(filename);

                    if (formFile.Value.Length > 0)
                    {
                        System.Console.WriteLine("in4");
                        // using (var stream = System.IO.File.Create(filePath + formFile.Value.FileName))
                        using (var stream = System.IO.File.Create(filePath + random + filename))
                        {
                            await formFile.Value.CopyToAsync(stream);
                        }

                        var CentralPolicyFiledata = new CentralPolicyFile
                        {
                            CentralPolicyId = centralpolicydata.Id,
                            Name            = random + filename,
                        };
                        _context.CentralPolicyFiles.Add(CentralPolicyFiledata);
                        System.Console.WriteLine("in5");
                        _context.SaveChanges();
                        System.Console.WriteLine("in6");
                        //_context.Entry(CentralPolicyFile).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                    }
                }
            }
            return(Ok(new { status = true }));
        }