Esempio n. 1
0
        public async Task <IActionResult> Put([FromForm] RequestViewModel model)
        {
            var date         = DateTime.Now;
            var requestorder = _context.RequestOrders.Find(model.id);

            {
                requestorder.Subject        = model.Subject;
                requestorder.Subjectdetail  = model.Subjectdetail;
                requestorder.Commanded_date = model.Commanded_date;
                requestorder.Draft          = model.Draft;
                requestorder.CreatedAt      = date;
            };

            _context.Entry(requestorder).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            _context.SaveChanges();

            // <! -- ลบข้อมูลผู้รับข้อสั่งการเดิม -->
            var OLDrequestOrderAnswer = _context.RequestOrderAnswers
                                        .Where(m => m.RequestOrderId == requestorder.Id);

            _context.RequestOrderAnswers.RemoveRange(OLDrequestOrderAnswer);
            _context.SaveChanges();
            // <! -- END ลบข้อมูลผู้รับข้อสั่งการเดิม -->

            // <!-- แก้ไขผู่รับข้อสั่งการ  -->
            System.Console.WriteLine("3 : ");
            foreach (var item in model.Answer_by)
            {
                var data = new RequestOrderAnswer
                {
                    RequestOrderId = requestorder.Id,
                    Status         = "แจ้งแล้ว",
                    UserID         = item,
                    publics        = 1,
                };
                _context.RequestOrderAnswers.Add(data);
                _context.SaveChanges();
            }
            // <!-- END แก้ไขผู้รับข้อสั่งการ  -->

            if (!Directory.Exists(_environment.WebRootPath + "//requestfile//"))
            {
                Directory.CreateDirectory(_environment.WebRootPath + "//requestfile//"); //สร้าง Folder Upload ใน wwwroot
            }
            //var BaseUrl = url.ActionContext.HttpContext.Request.Scheme;
            // path ที่เก็บไฟล์
            var filePath = _environment.WebRootPath + "//requestfile//";

            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 requestorderfile = new RequestOrderFile
                        {
                            RequestOrderId = model.id,
                            Name           = random + filename
                        };
                        _context.RequestOrderFiles.Add(requestorderfile);
                        _context.SaveChanges();
                        /*  System.Console.WriteLine("Sucess");*/
                    }
                }
            }
            return(Ok(new { Id = model.id, title = model.Subject }));
        }
Esempio n. 2
0
        public async Task <IActionResult> Post([FromForm] RequestViewModel model)
        {
            var date = DateTime.Now;

            var requestordersdata = new RequestOrder
            {
                UserID         = model.Commanded_by,
                Subject        = model.Subject,
                Subjectdetail  = model.Subjectdetail,
                CreatedAt      = date,
                Commanded_date = model.Commanded_date,
                publics        = 1,
                Draft          = model.Draft,
                Accept         = 0,
                Cancel         = 0,
            };

            System.Console.WriteLine("2 : ");
            _context.RequestOrders.Add(requestordersdata);
            _context.SaveChanges();

            // <!-- เพิ่มผู่รับข้อสั่งการ  -->
            System.Console.WriteLine("3 : ");
            foreach (var item in model.Answer_by)
            {
                var data = new RequestOrderAnswer
                {
                    RequestOrderId = requestordersdata.Id,
                    Status         = "แจ้งแล้ว",
                    UserID         = item,
                    publics        = 1,
                };
                _context.RequestOrderAnswers.Add(data);
                _context.SaveChanges();
            }
            // <!-- END เพิ่มผู่รับข้อสั่งการ  -->

            System.Console.WriteLine("4 : ");
            // <!-- อัพไฟล์  -->
            if (!Directory.Exists(_environment.WebRootPath + "//requestfile//"))
            {
                Directory.CreateDirectory(_environment.WebRootPath + "//requestfile//"); //สร้าง Folder Upload ใน wwwroot
            }
            var filePath = _environment.WebRootPath + "//requestfile//";

            if (model.files != null)
            {
                foreach (var formFile in model.files.Select((value, index) => new { Value = value, Index = index }))
                {
                    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 + random + filename))
                        {
                            await formFile.Value.CopyToAsync(stream);
                        }
                        var RequestOrderFile = new RequestOrderFile
                        {
                            RequestOrderId = requestordersdata.Id,
                            Name           = random + filename,
                        };
                        _context.RequestOrderFiles.Add(RequestOrderFile);
                        _context.SaveChanges();
                    }
                }
            }
            // <!--END อัพไฟล์  -->
            System.Console.WriteLine("5 : ");
            //return Ok (new { Id = executiveordersdata.Id, Answer_by = executiveordersdata.Answer_by }); //เดียวมาใช้
            return(Ok(new { Id = requestordersdata.Id, title = requestordersdata.Subject }));
        }