Example #1
0
        public IActionResult Post([FromBody] CreateConFormBody value)
        {
            using (var transaction = ctx.Database.BeginTransaction())
            {
                try
                {
                    var tagRegisList = value.TagRegis;
                    tagRegisList.BookingNo        = iSysParamService.GenerateConNo((int)tagRegisList.BranchId);
                    tagRegisList.CreateDate       = DateTime.Now;
                    tagRegisList.Status1          = ConStatus1.Received; // ปกติ | รับเรื่อง
                    ctx.Entry(tagRegisList).State = EntityState.Added;
                    ctx.SaveChanges();

                    var tagHistory = value.TagHistory;
                    tagHistory.CarNo            = iSysParamService.GenerateHistoryCarNo((int)tagHistory.BranchId);
                    tagHistory.BookingId        = tagRegisList.BookingId;
                    ctx.Entry(tagHistory).State = EntityState.Added;
                    ctx.SaveChanges();

                    var tagListItem = value.TagListItem;
                    tagListItem.ForEach(v =>
                    {
                        v.BookingId        = tagRegisList.BookingId;
                        ctx.Entry(v).State = EntityState.Added;
                    });
                    ctx.SaveChanges();

                    transaction.Commit();
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    transaction.Rollback();
                    return(StatusCode(500, ex.Message));
                }
            }
            return(NoContent());
        }