public IHttpActionResult PostHD_HRPAYADJ(HD_HRPAYADJ DT_HRPAYADJ)
 {
     try
     {
         if (DT_HRPAYADJ.PA_ID == 0)
         {
             DB.HD_HRPAYADJ.Add(DT_HRPAYADJ);
         }
         else
         {
             //DB.Entry(DT_HRPAYADJ).State = EntityState.Modified;
             DB.Set <HD_HRPAYADJ>().AddOrUpdate(DT_HRPAYADJ);
         }
         foreach (var item in DT_HRPAYADJ.DT_HRPAYADJ)
         {
             if (item.PAD_ID == 0)
             {
                 DB.DT_HRPAYADJ.Add(item);
             }
             else
             {
                 DB.Entry(item).State = EntityState.Modified;
             }
         }
         foreach (var id in DT_HRPAYADJ.DeletedPayAdjdIds.Split(',').Where(x => x != ""))
         {
             DT_HRPAYADJ x = DB.DT_HRPAYADJ.Find(Convert.ToInt64(id));
             DB.DT_HRPAYADJ.Remove(x);
         }
         DB.SaveChanges();
         //return CreatedAtRoute("DefaultApi", new { id = DT_HRPAYADJ.PA_ID }, DT_HRPAYADJ);
         return(Ok());
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #2
0
        public ActionResult PayadjSave(string PA_DOCNO, string PA_DOCDATE, string PA_HEADER, string PA_TITLE, string PA_MONTH, string PA_YEAR, DT_HRPAYADJ[] det)
        {
            int DocId;

            if (PA_DOCNO != null || PA_DOCDATE != null || PA_MONTH != null || PA_YEAR != null)
            {
                using (var context = new OVODEntities5())
                {
                    using (var dbcxtransaction = context.Database.BeginTransaction())
                    {
                        try
                        {
                            var DocData = context.HD_HRPAYADJ.Where(x => x.PA_DOCNO == PA_DOCNO).FirstOrDefault();
                            if (DocData != null)
                            {
                                //HD_HRPAYADJ hd = new HD_HRPAYADJ()
                                //{
                                //    PA_DOCDATE = Convert.ToDateTime(PA_DOCDATE),
                                //    PA_HEADER = PA_HEADER,
                                //    PA_TITLE = PA_TITLE,
                                //    PA_MONTH = PA_MONTH,
                                //    PA_YEAR = PA_YEAR
                                //};
                                DocData.PA_DOCDATE           = Convert.ToDateTime(PA_DOCDATE);
                                DocData.PA_HEADER            = PA_HEADER;
                                DocData.PA_TITLE             = PA_TITLE;
                                DocData.PA_MONTH             = PA_MONTH;
                                DocData.PA_YEAR              = PA_YEAR;;
                                context.Entry(DocData).State = EntityState.Modified;
                                context.SaveChanges();
                                DocId = context.HD_HRPAYADJ.Where(x => x.PA_DOCNO == PA_DOCNO).Select(a => a.PA_ID).Single();

                                //DT_HRPAYADJ details = new DT_HRPAYADJ { PAD_ID = DocId };
                                //context.Entry(details).State = EntityState.Deleted;
                                var items = context.DT_HRPAYADJ.Where(b => b.PA_ID == DocId);
                                foreach (var item in items)
                                {
                                    context.DT_HRPAYADJ.Remove(item);
                                }

                                context.SaveChanges();

                                if (DocId > 0)
                                {
                                    foreach (var item in det)
                                    {
                                        DT_HRPAYADJ s = new DT_HRPAYADJ()
                                        {
                                            PA_ID       = DocId,
                                            EM_ID       = item.EM_ID,
                                            TT_ID       = item.TT_ID,
                                            PAD_QTY     = item.PAD_QTY,
                                            PAD_RATE    = item.PAD_RATE,
                                            PAD_AMT     = (item.PAD_RATE * item.PAD_QTY),
                                            PAD_REMARKS = item.PAD_REMARKS
                                        };
                                        context.DT_HRPAYADJ.Add(s);
                                    }
                                    context.SaveChanges();
                                    dbcxtransaction.Commit();
                                    result = "Success! Document Update Completed.";
                                }
                                else
                                {
                                    dbcxtransaction.Rollback();
                                    result = "Invalid Code!";
                                }
                            }
                            else
                            {
                                HD_HRPAYADJ hd = new HD_HRPAYADJ()
                                {
                                    PA_DOCNO   = PA_DOCNO,
                                    PA_DOCDATE = Convert.ToDateTime(PA_DOCDATE),
                                    PA_HEADER  = PA_HEADER,
                                    PA_TITLE   = PA_TITLE,
                                    PA_MONTH   = PA_MONTH,
                                    PA_YEAR    = PA_YEAR
                                };
                                context.HD_HRPAYADJ.Add(hd);
                                context.SaveChanges();
                                DocId = hd.PA_ID;

                                if (DocId > 0)
                                {
                                    foreach (var item in det)
                                    {
                                        DT_HRPAYADJ s = new DT_HRPAYADJ()
                                        {
                                            PA_ID       = DocId,
                                            EM_ID       = item.EM_ID,
                                            TT_ID       = item.TT_ID,
                                            PAD_QTY     = item.PAD_QTY,
                                            PAD_RATE    = item.PAD_RATE,
                                            PAD_AMT     = (item.PAD_RATE * item.PAD_QTY),
                                            PAD_REMARKS = item.PAD_REMARKS
                                        };
                                        context.DT_HRPAYADJ.Add(s);
                                    }
                                    context.SaveChanges();
                                    dbcxtransaction.Commit();
                                    result = "Success! Document Creation Completed.";
                                }
                                else
                                {
                                    dbcxtransaction.Rollback();
                                    result = "Invalid Code!";
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            result = ex.ToString();
                            dbcxtransaction.Rollback();
                        }
                    }
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }