コード例 #1
0
        public ActionResult DeleteConfirmed(string id)
        {
            CSTRANM cSTRANM = db.CSTRANMs.Find(id);

            db.CSTRANMs.Remove(cSTRANM);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
ファイル: CSTRANMsController.cs プロジェクト: sfaai/asi
        public ActionResult Create([Bind(Include = "SOURCE,SOURCENO,SOURCEID,CONO,JOBNO,CASENO,CASECODE,DUEDATE,ENTDATE,TRTYPE,TRDESC,TRITEM1,TRITEM2,TRITEM,TRTAX1,TRTAX2,TRTAX,TRAMT1,TRAMT2,TRAMT,TRSIGN,TRSITEM1,TRSITEM2,TRSITEM,TRSTAX1,TRSTAX2,TRSTAX,TRSAMT1,TRSAMT2,TRSAMT,TRITEMOS1,TRITEMOS2,TRITEMOS,TRTAXOS1,TRTAXOS2,TRTAXOS,TROS1,TROS2,TROS,APPTYPE,APPNO,APPID,APPITEM1,APPITEM2,APPITEM,APPTAX1,APPTAX2,APPTAX,APPAMT1,APPAMT2,APPAMT,REM,COMPLETE,COMPLETED,SEQNO,REFCNT,STAMP")] CSTRANM cSTRANM)
        {
            if (ModelState.IsValid)
            {
                cSTRANM.STAMP = 0;
                try
                {
                    db.CSTRANMs.Add(cSTRANM);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
            }

            return(View(cSTRANM));
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "SOURCE,SOURCENO,SOURCEID,CONO,JOBNO,CASENO,CASECODE,DUEDATE,ENTDATE,TRTYPE,TRDESC,TRITEM1,TRITEM2,TRITEM,TRTAX1,TRTAX2,TRTAX,TRAMT1,TRAMT2,TRAMT,TRSIGN,TRSITEM1,TRSITEM2,TRSITEM,TRSTAX1,TRSTAX2,TRSTAX,TRSAMT1,TRSAMT2,TRSAMT,TRITEMOS1,TRITEMOS2,TRITEMOS,TRTAXOS1,TRTAXOS2,TRTAXOS,TROS1,TROS2,TROS,APPTYPE,APPNO,APPID,APPITEM1,APPITEM2,APPITEM,APPTAX1,APPTAX2,APPTAX,APPAMT1,APPAMT2,APPAMT,REM,COMPLETE,COMPLETED,SEQNO,REFCNT,STAMP")] CSTRANM cSTRANM)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cSTRANM).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(cSTRANM));
 }
コード例 #4
0
ファイル: CSTRANMsController.cs プロジェクト: sfaai/asi
        public ActionResult DeleteConfirmed(string id)
        {
            CSTRANM cSTRANM = db.CSTRANMs.Find(id);

            try
            {
                db.CSTRANMs.Remove(cSTRANM);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        //string message = string.Format("{0}:{1}",
                        //    validationErrors.Entry.Entity.ToString(),
                        //   validationError.ErrorMessage);
                        // raise a new exception nesting
                        // the current instance as InnerException
                        ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
            catch (DbUpdateException ex)
            {
                UpdateException updateException = (UpdateException)ex.InnerException;
                if (updateException != null)
                {
                    if (updateException.InnerException != null)
                    {
                        var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                        foreach (var error in sqlException.Errors)
                        {
                            if (error.Message != null)
                            {
                                ModelState.AddModelError(string.Empty, error.Message);
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, updateException.Message);
                }
            }
            return(View(cSTRANM));
        }
コード例 #5
0
        public string DeleteRow(ASIDBConnection mydb, string id, int row)
        {
            CSCND   cSCND   = mydb.CSCNDs.Find(MyHtmlHelpers.ConvertByteStrToId(id), row);
            CSTRANM cSTRANM = mydb.CSTRANMs.Find("CSCN", cSCND.TRNO, cSCND.TRID);

            if (cSTRANM.REFCNT > 0)
            {
                throw new Exception("cannot delete record that has been applied");
            }
            mydb.CSTRANMs.Remove(cSTRANM);
            mydb.CSCNDs.Remove(cSCND);
            return(cSCND.TRNO);
        }
コード例 #6
0
        // GET: CSTRANMs/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CSTRANM cSTRANM = db.CSTRANMs.Find(id);

            if (cSTRANM == null)
            {
                return(HttpNotFound());
            }
            return(View(cSTRANM));
        }
コード例 #7
0
        public ActionResult Create([Bind(Include = "TRNO,TRID,CASECODE,ITEMTYPE,ITEMDESC,ITEMSPEC,TAXRATE,ITEMAMT1,TAXAMT1,NETAMT1,ITEMAMT2,TAXAMT2,NETAMT2,ITEMAMT,TAXAMT,NETAMT,STAMP")] CSCND cSCND)
        {
            if (ModelState.IsValid)
            {
                CSCND lastRec = db.CSCNDs.Where(m => m.TRNO == cSCND.TRNO).OrderByDescending(n => n.TRID).FirstOrDefault();
                if (lastRec == null)
                {
                    cSCND.TRID = 1;
                }
                else
                {
                    cSCND.TRID = lastRec.TRID + 1;
                }

                db.CSCNDs.Add(cSCND);

                CSCNM parent = db.CSCNMs.Find(cSCND.TRNO);
                if (parent != null)
                {
                    try
                    {
                        CSTRANM cSTRANM = db.CSTRANMs.Find("CSCN", cSCND.TRNO, cSCND.TRID);
                        if (cSTRANM == null)
                        {
                            cSTRANM       = new CSTRANM();
                            cSTRANM.STAMP = 0;
                            UpdateCSTRANM(parent, cSCND, cSTRANM);
                            db.CSTRANMs.Add(cSTRANM);
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, "CSTRANM record already Existed");
                            throw new Exception("CSTRANM record already Existed");
                            //UpdateCSTRANM(parent, cSCND, cSTRANM);
                            //db.Entry(cSTRANM).State = EntityState.Modified;
                        }
                        db.SaveChanges();
                        return(RedirectToAction("Edit", "CSCNMs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSCND.TRNO) }));
                    }
                    catch (DbEntityValidationException dbEx)
                    {
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                //string message = string.Format("{0}:{1}",
                                //    validationErrors.Entry.Entity.ToString(),
                                //   validationError.ErrorMessage);
                                // raise a new exception nesting
                                // the current instance as InnerException
                                ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                            }
                        }
                    }
                    catch (DbUpdateException ex)
                    {
                        UpdateException updateException = (UpdateException)ex.InnerException;
                        if (updateException != null)
                        {
                            if (updateException.InnerException != null)
                            {
                                var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                                foreach (var error in sqlException.Errors)
                                {
                                    if (error.Message != null)
                                    {
                                        ModelState.AddModelError(string.Empty, error.Message);
                                    }
                                }
                            }
                            else
                            {
                                ModelState.AddModelError(string.Empty, updateException.Message);
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Parent Record is missing");
                }
            }
            ViewBag.CASECODE = new SelectList(db.CSCASEs, "CASECODE", "CASEDESC", cSCND.CASECODE);
            ViewBag.ITEMTYPE = new SelectList(db.CSITEMs, "ITEMTYPE", "ITEMDESC", cSCND.ITEMTYPE);
            return(View("Edit", cSCND));
        }
コード例 #8
0
        protected void UpdateCSTRANM(CSCNM cSCNM, CSCND cSCND, CSTRANM cSTRANM)
        {
            cSTRANM.SOURCE   = "CSCN";
            cSTRANM.SOURCENO = cSCNM.TRNO;
            cSTRANM.SOURCEID = cSCND.TRID;
            cSTRANM.CONO     = cSCNM.CONO;
            cSTRANM.JOBNO    = null;
            cSTRANM.CASENO   = null;
            cSTRANM.CASECODE = cSCND.CASECODE;
            cSTRANM.ENTDATE  = cSCNM.VDATE;
            cSTRANM.TRTYPE   = cSCND.ITEMTYPE;
            cSTRANM.TRDESC   = cSCND.ITEMDESC;

            cSTRANM.TRITEM1 = cSCND.ITEMAMT1;
            cSTRANM.TRITEM2 = cSCND.ITEMAMT2;
            cSTRANM.TRITEM  = cSCND.ITEMAMT1 + cSCND.ITEMAMT2;

            cSTRANM.TRTAX1 = cSCND.TAXAMT1;
            cSTRANM.TRTAX2 = cSCND.TAXAMT2;
            cSTRANM.TRTAX  = cSCND.TAXAMT1 + cSCND.TAXAMT2;

            cSTRANM.TRAMT1 = cSCND.NETAMT1;
            cSTRANM.TRAMT2 = cSCND.NETAMT2;
            cSTRANM.TRAMT  = cSCND.NETAMT1 + cSCND.NETAMT2;


            cSTRANM.TRSIGN = "CR";

            cSTRANM.TRSITEM1 = -cSCND.ITEMAMT1;
            cSTRANM.TRSITEM2 = -cSCND.ITEMAMT2;
            cSTRANM.TRSITEM  = -cSCND.ITEMAMT1 - cSCND.ITEMAMT2;

            cSTRANM.TRSTAX1 = -cSCND.TAXAMT1;
            cSTRANM.TRSTAX2 = -cSCND.TAXAMT2;
            cSTRANM.TRSTAX  = -cSCND.TAXAMT1 - cSCND.TAXAMT2;

            cSTRANM.TRSAMT1 = -cSCND.NETAMT1;
            cSTRANM.TRSAMT2 = -cSCND.NETAMT2;
            cSTRANM.TRSAMT  = -cSCND.NETAMT1 - cSCND.NETAMT2;

            cSTRANM.TRITEMOS1 = -cSCND.ITEMAMT1;
            cSTRANM.TRITEMOS2 = -cSCND.ITEMAMT2;
            cSTRANM.TRITEMOS  = -cSCND.ITEMAMT1 - cSCND.ITEMAMT2;


            cSTRANM.TRTAXOS1 = -cSCND.TAXAMT1;
            cSTRANM.TRTAXOS2 = -cSCND.TAXAMT2;
            cSTRANM.TRTAXOS  = -cSCND.TAXAMT1 - cSCND.TAXAMT2;


            cSTRANM.TROS1 = -cSCND.NETAMT1;
            cSTRANM.TROS2 = -cSCND.ITEMAMT2;
            cSTRANM.TROS  = -cSCND.NETAMT1 - cSCND.NETAMT2;


            cSTRANM.APPITEM  = 0;
            cSTRANM.APPITEM1 = 0;
            cSTRANM.APPITEM2 = 0;
            cSTRANM.APPTAX   = 0;
            cSTRANM.APPTAX1  = 0;
            cSTRANM.APPTAX2  = 0;
            cSTRANM.APPAMT   = 0;
            cSTRANM.APPAMT1  = 0;
            cSTRANM.APPAMT2  = 0;

            cSTRANM.APPTYPE = null;
            cSTRANM.APPNO   = null;
            cSTRANM.APPID   = null;

            cSTRANM.COMPLETE  = "N";
            cSTRANM.COMPLETED = DateTime.Parse("01/01/3000");
            cSTRANM.SEQNO     = cSCNM.SEQNO;
            cSTRANM.REFCNT    = 0;
            cSTRANM.STAMP     = cSTRANM.STAMP + 1;
        }
コード例 #9
0
        public PartialViewResult AddItem(string id, string prfno)
        {
            string sid    = MyHtmlHelpers.ConvertByteStrToId(id);
            CSBILL cSBILL = db.CSBILLs.Find(sid);
            CSPRF  cSPRF  = db.CSPRFs.Find(prfno);

            if (cSBILL.PRFALLOC == "Y")
            {
                Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                Response.StatusDescription = "Bill has been Allocated";
            }
            else
            if (cSBILL.refcnt > 0)
            {
                Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                Response.StatusDescription = "Bill has been touched";
                //throw new Exception("Bill has been touched");
            }
            else
            {
                int    prfId   = 0;
                string prfnoId = MyHtmlHelpers.ConvertIdToByteStr(prfno);

                ASIDBConnection newdb = new ASIDBConnection();
                try
                {
                    CSBILL curRec = newdb.CSBILLs.Find(sid);

                    var cSTRANMs = db.CSTRANMs.Where(x => x.SOURCE == "CSPRF" && x.SOURCENO == prfno);

                    prfId = 0;
                    if (cSTRANMs.Count() != 0)
                    {
                        prfId = cSTRANMs.Max(y => y.SOURCEID);
                    }
                    prfId++;

                    if (curRec.STAMP == cSBILL.STAMP)
                    {
                        cSBILL.STAMP    = cSBILL.STAMP + 1;
                        cSBILL.PRFALLOC = "Y";
                        cSBILL.PRFNO    = prfno;
                        cSBILL.PRFID    = prfId;

                        db.Entry(cSBILL).State = EntityState.Modified;

                        CSTRANM cSTRANM = new CSTRANM();
                        cSTRANM.STAMP = 0;
                        UpdateCSTRANM(cSPRF, cSBILL, cSTRANM);

                        db.CSTRANMs.Add(cSTRANM);
                        db.SaveChanges();
                    }
                    else
                    {
                        Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                        Response.StatusDescription = "bill was modified";
                        throw new Exception("bill was modified");
                    }
                }
                catch (Exception e)
                {
                    Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                    Response.StatusDescription = e.Message;
                }
                finally
                {
                    newdb.Dispose();
                }
            }
            return(BillOpen(MyHtmlHelpers.ConvertIdToByteStr(cSPRF.CONO), MyHtmlHelpers.ConvertIdToByteStr(prfno)));
            //return RedirectToAction("Edit/" + prfnoId);
        }
コード例 #10
0
 public void BD_UpdateCSTRANM(CSPRF cSPRF, CSBILL cSBILL, CSTRANM cSTRANM)
 {
     UpdateCSTRANM(cSPRF, cSBILL, cSTRANM);
 }
コード例 #11
0
        public PartialViewResult RemoveItem(string id)
        {
            string sid     = MyHtmlHelpers.ConvertByteStrToId(id);
            CSBILL cSBILL  = db.CSBILLs.Find(sid);
            string prfno   = cSBILL.PRFNO;
            int?   prfId   = cSBILL.PRFID;
            string prfnoId = MyHtmlHelpers.ConvertIdToByteStr(prfno);

            if (cSBILL == null)
            {
                Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                Response.StatusDescription = "Bill Item is missing";
            }
            else if (cSBILL.PRFALLOC == "N")
            {
                Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                Response.StatusDescription = "Bill has been Allocated";
            }
            else if (cSBILL.refcnt > 0)
            {
                Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                Response.StatusDescription = "Bill has been touched";
                //throw new Exception("Bill has been touched");
            }
            else
            {
                ASIDBConnection newdb = new ASIDBConnection();
                try
                {
                    CSBILL curRec = newdb.CSBILLs.Find(sid);

                    if (curRec.STAMP == cSBILL.STAMP)
                    {
                        cSBILL.STAMP    = cSBILL.STAMP + 1;
                        cSBILL.PRFALLOC = "N";
                        cSBILL.PRFNO    = null;
                        cSBILL.PRFID    = null;

                        db.Entry(cSBILL).State = EntityState.Modified;

                        CSTRANM cSTRANM = db.CSTRANMs.Find("CSPRF", prfno, prfId);
                        db.CSTRANMs.Remove(cSTRANM);
                        db.SaveChanges();
                    }
                    else
                    {
                        Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                        Response.StatusDescription = "bill was modified";
                        throw new Exception("bill was modified");
                    }
                }
                catch (Exception e)
                {
                    Response.StatusCode        = (int)HttpStatusCode.NotAcceptable;
                    Response.StatusDescription = e.Message;
                }
                finally
                {
                    newdb.Dispose();
                }
            }
            //return RedirectToAction("Edit/" + prfnoId);
            return(BillAllocated(MyHtmlHelpers.ConvertIdToByteStr(prfno)));
        }
コード例 #12
0
        public ActionResult DeleteConfirmed(string id)
        {
            CSPRF cSPRF = db.CSPRFs.Find(MyHtmlHelpers.ConvertByteStrToId(id));

            if (cSPRF != null)
            {
                int refcnt = cSPRF.refcnt;
                if (refcnt > 0)
                {
                    ModelState.AddModelError(string.Empty, refcnt.ToString() + " Details has been touched. Cannot Delete record");
                }
                else
                {
                    // Remove CSTRANM
                    // Modify CSBILL to remove reference to PRFNO
                    try
                    {
                        List <CSBILL> ListBill = cSPRF.CSBILLs.ToList();
                        foreach (CSBILL item in ListBill)
                        {
                            CSTRANM cSTRANM = db.CSTRANMs.Find("CSPRF", item.PRFNO, item.PRFID);
                            db.CSTRANMs.Remove(cSTRANM);

                            CSBILL cSBill = db.CSBILLs.Find(item.BILLNO);
                            cSBill.STAMP           = cSBill.STAMP + 1;
                            cSBill.PRFALLOC        = "N";
                            cSBill.PRFNO           = null;
                            cSBill.PRFID           = null;
                            db.Entry(cSBill).State = EntityState.Modified;
                        }


                        db.CSPRFs.Remove(cSPRF);
                        db.SaveChanges();

                        int page = (int)Session["CSPRFPage"];
                        return(RedirectToAction("Index", new { page = page }));
                    }
                    catch (DbEntityValidationException dbEx)
                    {
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                //string message = string.Format("{0}:{1}",
                                //    validationErrors.Entry.Entity.ToString(),
                                //   validationError.ErrorMessage);
                                // raise a new exception nesting
                                // the current instance as InnerException
                                ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                            }
                        }
                    }
                    catch (DbUpdateException ex)
                    {
                        UpdateException updateException = (UpdateException)ex.InnerException;
                        if (updateException != null)
                        {
                            if (updateException.InnerException != null)
                            {
                                var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                                foreach (var error in sqlException.Errors)
                                {
                                    if (error.Message != null)
                                    {
                                        ModelState.AddModelError(string.Empty, error.Message);
                                    }
                                }
                            }
                            else
                            {
                                ModelState.AddModelError(string.Empty, updateException.Message);
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    catch (Exception e) { ModelState.AddModelError(String.Empty, e.Message); }
                }
            }

            ViewBag.page = Session["CSPRFPage"];

            ViewBag.CONO     = new SelectList(db.CSCOMSTRs.Select(x => new { CONO = x.CONO, CONAME = x.CONAME + "  (" + x.CONO + ")" }).OrderBy(y => y.CONAME), "CONO", "CONAME", cSPRF.CONO);
            ViewBag.ATTNDESC = new SelectList(db.CSCOPICs.Where(x => x.CONO == cSPRF.CONO).Select(x => new { PRSNAME = x.CSPR.PRSNAME, PRSDESC = x.CSPR.PRSNAME }).OrderBy(y => y.PRSDESC), "PRSNAME", "PRSDESC", cSPRF.ATTN);
            ViewBag.COADDR   = new SelectList(db.CSCOADDRs.Where(x => x.CONO == cSPRF.CONO).Select(x => new { COADDR = x.CONO + "|" + x.ADDRID, COADDRDESC = x.ADDRTYPE + " | " + x.MAILADDR + " | " + x.ADDR1 + " " + x.ADDR2 + " " + x.ADDR3 }), "COADDR", "COADDRDESC", cSPRF.COADDR);
            ViewBag.DETAILS  = db.CSBILLs.Where(x => x.PRFNO == cSPRF.PRFNO);
            ViewBag.CONAME   = db.CSCOMSTRs.Where(x => x.CONO == cSPRF.CONO).Select(y => y.CONAME).FirstOrDefault();
            ViewBag.Title    = "Delete Proforma Bill " + cSPRF.PRFNO;
            return(View("Edit", cSPRF));
        }
コード例 #13
0
        protected void UpdateCSTRANM(CSPRF cSPRF, CSBILL cSBILL, CSTRANM cSTRANM)
        {
            cSTRANM.SOURCE   = "CSPRF";
            cSTRANM.SOURCENO = cSPRF.PRFNO;
            cSTRANM.SOURCEID = cSBILL.PRFID ?? 0;
            cSTRANM.CONO     = cSPRF.CONO;
            cSTRANM.DUEDATE  = cSPRF.DUEDATE;
            cSTRANM.JOBNO    = cSBILL.JOBNO;
            cSTRANM.CASENO   = cSBILL.CASENO;
            cSTRANM.CASECODE = cSBILL.CASECODE;
            cSTRANM.ENTDATE  = cSBILL.ENTDATE;
            cSTRANM.TRTYPE   = cSBILL.ITEMTYPE;
            cSTRANM.TRDESC   = cSBILL.ITEMDESC;

            cSTRANM.TRITEM1 = cSBILL.ITEMAMT1;
            cSTRANM.TRITEM2 = cSBILL.ITEMAMT2;
            cSTRANM.TRITEM  = cSBILL.ITEMAMT1 + cSBILL.ITEMAMT2;

            cSTRANM.TRTAX1 = cSBILL.TAXAMT1;
            cSTRANM.TRTAX2 = cSBILL.TAXAMT2;
            cSTRANM.TRTAX  = cSBILL.TAXAMT1 + cSBILL.TAXAMT2;

            cSTRANM.TRAMT1 = cSBILL.NETAMT1;
            cSTRANM.TRAMT2 = cSBILL.NETAMT2;
            cSTRANM.TRAMT  = cSBILL.NETAMT1 + cSBILL.NETAMT2;


            cSTRANM.TRSIGN = "DB";

            cSTRANM.TRSITEM1 = cSBILL.ITEMAMT1;
            cSTRANM.TRSITEM2 = cSBILL.ITEMAMT2;
            cSTRANM.TRSITEM  = cSBILL.ITEMAMT1 + cSBILL.ITEMAMT2;

            cSTRANM.TRSTAX1 = cSBILL.TAXAMT1;
            cSTRANM.TRSTAX2 = cSBILL.TAXAMT2;
            cSTRANM.TRSTAX  = cSBILL.TAXAMT1 + cSBILL.TAXAMT2;

            cSTRANM.TRSAMT1 = cSBILL.NETAMT1;
            cSTRANM.TRSAMT2 = cSBILL.NETAMT2;
            cSTRANM.TRSAMT  = cSBILL.NETAMT1 + cSBILL.NETAMT2;

            cSTRANM.TRITEMOS1 = cSBILL.ITEMAMT1;
            cSTRANM.TRITEMOS2 = cSBILL.ITEMAMT2;
            cSTRANM.TRITEMOS  = cSBILL.ITEMAMT1 + cSBILL.ITEMAMT2;


            cSTRANM.TRTAXOS1 = cSBILL.TAXAMT1;
            cSTRANM.TRTAXOS2 = cSBILL.TAXAMT2;
            cSTRANM.TRTAXOS  = cSBILL.TAXAMT1 + cSBILL.TAXAMT2;


            cSTRANM.TROS1 = cSBILL.NETAMT1;
            cSTRANM.TROS2 = cSBILL.ITEMAMT2;
            cSTRANM.TROS  = cSBILL.NETAMT1 + cSBILL.NETAMT2;


            cSTRANM.APPITEM  = 0;
            cSTRANM.APPITEM1 = 0;
            cSTRANM.APPITEM2 = 0;
            cSTRANM.APPTAX   = 0;
            cSTRANM.APPTAX1  = 0;
            cSTRANM.APPTAX2  = 0;
            cSTRANM.APPAMT   = 0;
            cSTRANM.APPAMT1  = 0;
            cSTRANM.APPAMT2  = 0;

            cSTRANM.APPTYPE = null;
            cSTRANM.APPNO   = null;
            cSTRANM.APPID   = null;

            cSTRANM.COMPLETE  = "N";
            cSTRANM.COMPLETED = DateTime.Parse("01/01/3000");
            cSTRANM.SEQNO     = cSPRF.SEQNO;
            cSTRANM.REFCNT    = 0;
            cSTRANM.STAMP     = cSTRANM.STAMP + 1;
        }
コード例 #14
0
ファイル: CSDNDsController.cs プロジェクト: sfaai/asi
        public ActionResult Edit([Bind(Include = "TRNO,TRID,CASECODE,ITEMTYPE,ITEMDESC,ITEMSPEC,TAXRATE,ITEMAMT1,TAXAMT1,NETAMT1,ITEMAMT2,TAXAMT2,NETAMT2,ITEMAMT,TAXAMT,NETAMT,STAMP")] CSDND cSDND)
        {
            if (ModelState.IsValid)
            {
                ASIDBConnection newdb = new ASIDBConnection();
                db.Entry(cSDND).State = EntityState.Modified;
                try
                {
                    CSDNM parent = newdb.CSDNMs.Find(cSDND.TRNO);
                    if (parent != null)
                    {
                        CSDND curRec = newdb.CSDNDs.Find(cSDND.TRNO, cSDND.TRID);
                        if (curRec.STAMP == cSDND.STAMP)
                        {
                            cSDND.STAMP = cSDND.STAMP + 1;

                            CSTRANM cSTRANM = db.CSTRANMs.Find("CSDN", cSDND.TRNO, cSDND.TRID);
                            if (cSTRANM == null)
                            {
                                cSTRANM       = new CSTRANM();
                                cSTRANM.STAMP = 0;
                                UpdateCSTRANM(parent, cSDND, cSTRANM);
                                db.CSTRANMs.Add(cSTRANM);
                            }
                            else
                            {
                                UpdateCSTRANM(parent, cSDND, cSTRANM);
                                db.Entry(cSTRANM).State = EntityState.Modified;
                            }

                            db.SaveChanges();

                            return(RedirectToAction("Edit", "CSDNMs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSDND.TRNO) }));
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, "Record is modified");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Parent Record is missing");
                    }
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, e.Message);
                }
                finally
                {
                    newdb.Dispose();
                }
            }
            ViewBag.CASECODE = new SelectList(db.CSCASEs, "CASECODE", "CASEDESC", cSDND.CASECODE);
            ViewBag.ITEMTYPE = new SelectList(db.CSITEMs, "ITEMTYPE", "ITEMDESC", cSDND.ITEMTYPE);
            return(View(cSDND));
        }
コード例 #15
0
        public ActionResult Post(string[] cono)
        {
            CSPRFsController CSPRFControl = new CSPRFsController();

            try
            {
                SALASTNO serialTbl0 = db.SALASTNOes.Find("CSBILL");
                if ((serialTbl0 != null))
                {
                    foreach (string item in cono)
                    {
                        var      conofee  = item.Split('|');
                        var      myCono   = conofee[0];
                        var      myFee    = conofee[1];
                        string   lastCono = "";
                        CSCOMSTR cSCOMSTR = null;
                        myCono = myCono.Trim();
                        myFee  = myFee.Trim();



                        var     csFees  = db.CSCOFEEs.Where(x => x.CONO == myCono && x.FEETYPE == myFee);
                        decimal taxrate = 0;
                        string  taxcode = "SSTN01";
                        CSPRF   cSPRF   = null;
                        int     prfId   = 0;
                        foreach (var feerec in csFees)
                        {
                            CSITEM cSITEM = db.CSITEMs.Find(feerec.FEETYPE);
                            if (cSITEM != null)
                            {
                                taxrate = cSITEM.GSTRATE ?? 0;
                            }

                            if (lastCono != feerec.CONO)
                            {
                                cSCOMSTR                 = db.CSCOMSTRs.Find(feerec.CONO);
                                cSCOMSTR.SEQNO           = cSCOMSTR.SEQNO + 1;
                                cSCOMSTR.STAMP           = cSCOMSTR.STAMP;
                                db.Entry(cSCOMSTR).State = EntityState.Modified;
                            }

                            var feedate = feerec.LASTTOUCH;


                            feerec.LASTTOUCH       = feedate.AddMonths(feerec.FEEMTH);
                            feerec.STAMP           = feerec.STAMP + 1;
                            db.Entry(feerec).State = EntityState.Modified;


                            SALASTNO serialTbl = db.SALASTNOes.Find("CSPRF");
                            if ((serialTbl != null) && (lastCono != feerec.CONO))
                            {
                                string prefix  = serialTbl.LASTPFIX;
                                int    MaxNo   = serialTbl.LASTNOMAX;
                                bool   AutoGen = serialTbl.AUTOGEN == "Y";
                                serialTbl.LASTNO = serialTbl.LASTNO + 1;


                                cSPRF         = new CSPRF();
                                cSPRF.STAMP   = 0;
                                cSPRF.VDATE   = feedate;
                                cSPRF.DUEDATE = feedate;
                                cSPRF.DUEDAYS = 0;
                                cSPRF.SEQNO   = cSCOMSTR.SEQNO;
                                cSPRF.CONO    = feerec.CONO;
                                short?coid = db.CSCOADDRs.Where(x => x.CONO == feerec.CONO && x.MAILADDR == "Y").Select(y => y.ADDRID).FirstOrDefault();
                                if (coid == 0)
                                {
                                    coid = db.CSCOADDRs.Where(x => x.CONO == feerec.CONO && x.MAILADDR == "N").Select(y => y.ADDRID).FirstOrDefault();
                                }
                                if (coid != 0)
                                {
                                    cSPRF.COADDRID = coid;
                                }

                                cSPRF.ATTN     = "The Board of Directors";
                                cSPRF.PRFNO    = serialTbl.LASTNO.ToString("D10");
                                cSPRF.INVALLOC = "N";

                                serialTbl.STAMP           = serialTbl.STAMP + 1;
                                db.Entry(serialTbl).State = EntityState.Modified;
                                db.CSPRFs.Add(cSPRF);
                                prfId = 0;
                            }

                            prfId++;
                            serialTbl0.LASTNO = serialTbl0.LASTNO + 1;
                            string prefix0  = serialTbl0.LASTPFIX;
                            int    MaxNo0   = serialTbl0.LASTNOMAX;
                            bool   AutoGen0 = serialTbl0.AUTOGEN == "Y";
                            CSBILL cSBILL   = new WebApplication1.CSBILL();
                            cSBILL.STAMP    = 0;
                            cSBILL.CONO     = feerec.CONO;
                            cSBILL.PRFALLOC = "Y";
                            cSBILL.SYSGEN   = "Y";
                            cSBILL.PRFNO    = cSPRF.PRFNO;
                            cSBILL.PRFID    = prfId;
                            cSBILL.BILLNO   = serialTbl0.LASTNO.ToString("D10");;
                            cSBILL.ENTDATE  = feedate;
                            cSBILL.CASECODE = feerec.FEECODE;
                            cSBILL.ITEMTYPE = feerec.FEETYPE;
                            cSBILL.ITEMDESC = feerec.CSCASE.CASEDESC;
                            cSBILL.ITEMSPEC = "- From " + feedate.ToString("dd/MM/yyyy") + " To " + feedate.AddMonths(feerec.FEEMTH).ToString("dd/MM/yyyy");

                            cSBILL.ITEMAMT = feerec.FEEAMT;
                            cSBILL.TAXAMT  = taxrate * feerec.FEEAMT / 100;
                            cSBILL.NETAMT  = cSBILL.ITEMAMT + cSBILL.TAXAMT;

                            cSBILL.ITEMAMT1 = feerec.FEEAMT;
                            cSBILL.TAXAMT1  = taxrate * feerec.FEEAMT / 100;
                            cSBILL.NETAMT1  = cSBILL.ITEMAMT1 + cSBILL.TAXAMT1;

                            cSBILL.ITEMAMT2 = 0;
                            cSBILL.TAXAMT2  = 0;
                            cSBILL.NETAMT2  = 0;
                            cSBILL.TAXRATE  = taxrate;

                            taxcode        = db.CSTAXTYPEs.Where(x => x.TAXRATE == taxrate && x.EFFECTIVE_START <= cSBILL.ENTDATE && x.EFFECTIVE_END >= cSBILL.ENTDATE).Select(y => y.TAXCODE).FirstOrDefault() ?? taxcode;
                            cSBILL.TAXCODE = taxcode;
                            db.CSBILLs.Add(cSBILL);


                            CSTRANM cSTRANM = new CSTRANM();
                            cSTRANM.STAMP = 0;
                            CSPRFControl.BD_UpdateCSTRANM(cSPRF, cSBILL, cSTRANM);

                            db.CSTRANMs.Add(cSTRANM);

                            lastCono = feerec.CONO;
                        }
                        //db.Entry(serialTbl0).State = EntityState.Modified;
                        //db.SaveChanges();
                    }
                    db.Entry(serialTbl0).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        //string message = string.Format("{0}:{1}",
                        //    validationErrors.Entry.Entity.ToString(),
                        //   validationError.ErrorMessage);
                        // raise a new exception nesting
                        // the current instance as InnerException
                        ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
            catch (DbUpdateException ex)
            {
                UpdateException updateException = (UpdateException)ex.InnerException;
                if (updateException != null)
                {
                    if (updateException.InnerException != null)
                    {
                        var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                        foreach (var error in sqlException.Errors)
                        {
                            if (error.Message != null)
                            {
                                ModelState.AddModelError(string.Empty, error.Message);
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, updateException.Message);
                }
            }
            catch (Exception e)
            {
                ModelState.AddModelError(string.Empty, e.Message);
            }
            finally
            {
                CSPRFControl.Dispose();
            }

            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }