Ejemplo n.º 1
0
        public ActionResult SendPartner(string documentId, MyAddressInfo address, bool useAPI)
        {
            var checkDocument = db.MM_MailerPartner.Find(documentId);

            if (checkDocument == null)
            {
                return(Json(new ResultInfo()
                {
                    error = 1,
                    msg = "Sai thông tin"
                }, JsonRequestBehavior.AllowGet));
            }

            var partner = db.BS_Partners.Find(checkDocument.PartnerID);

            if (partner == null)
            {
                return(Json(new ResultInfo()
                {
                    error = 1,
                    msg = "Sai thông tin"
                }, JsonRequestBehavior.AllowGet));
            }

            //
            if (useAPI)
            {
                switch (partner.PartnerCode)
                {
                case "VIETTEL":
                    SendViettelHandle viettelHandle = new SendViettelHandle(db, partner, HandleHistory);
                    viettelHandle.SendViettelPost(checkDocument.DocumentID, address);
                    break;

                default:
                    var details = db.MAILER_PARTNER_GETDETAIL(documentId).ToList();
                    foreach (var item in details)
                    {
                        var checkDetail = db.MM_MailerPartnerDetail.Where(p => p.DocumentID == documentId && p.MailerID == item.MailerID).FirstOrDefault();

                        var mailer = db.MM_Mailers.Find(item.MailerID);

                        checkDetail.StatusID = 1;

                        db.Entry(checkDetail).State = System.Data.Entity.EntityState.Modified;

                        mailer.ThirdpartyDocID = checkDetail.OrderReference;
                        mailer.ThirdpartyCode  = partner.PartnerCode;
                        mailer.ThirdpartyID    = partner.PartnerID;
                        mailer.CurrentStatusID = 9;
                        mailer.ThirdpartyCost  = Convert.ToDecimal(checkDetail.OrderCosst);

                        db.Entry(mailer).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                    }
                    break;
                }
            }
            else
            {
                var details = db.MAILER_PARTNER_GETDETAIL(documentId).ToList();
                foreach (var item in details)
                {
                    var checkDetail = db.MM_MailerPartnerDetail.Where(p => p.DocumentID == documentId && p.MailerID == item.MailerID).FirstOrDefault();

                    var mailer = db.MM_Mailers.Find(item.MailerID);

                    checkDetail.StatusID = 1;

                    db.Entry(checkDetail).State = System.Data.Entity.EntityState.Modified;

                    mailer.ThirdpartyDocID = checkDetail.OrderReference;
                    mailer.ThirdpartyCode  = partner.PartnerCode;
                    mailer.ThirdpartyID    = partner.PartnerID;
                    mailer.CurrentStatusID = 9;
                    mailer.ThirdpartyCost  = Convert.ToDecimal(checkDetail.OrderCosst);

                    db.Entry(mailer).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
            }


            return(Json(new ResultInfo()
            {
                error = 0,
                msg = ""
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public ActionResult CancelSend(string documentId, string mailerId)
        {
            var checkDocument = db.MM_MailerPartner.Find(documentId);

            if (checkDocument == null)
            {
                return(Json(new ResultInfo()
                {
                    error = 1,
                    msg = "Sai thông tin"
                }, JsonRequestBehavior.AllowGet));
            }

            var checkDetail = db.MM_MailerPartnerDetail.Where(p => p.DocumentID == documentId && p.MailerID == mailerId).FirstOrDefault();

            if (checkDetail == null)
            {
                return(Json(new ResultInfo()
                {
                    error = 1,
                    msg = "Không thể hủy"
                }, JsonRequestBehavior.AllowGet));
            }

            var mailer = db.MM_Mailers.Find(mailerId);

            if (mailer == null)
            {
                return(Json(new ResultInfo()
                {
                    error = 1,
                    msg = "Không thể hủy"
                }, JsonRequestBehavior.AllowGet));
            }


            var partner = db.BS_Partners.Find(checkDocument.PartnerID);

            if (partner == null)
            {
                return(Json(new ResultInfo()
                {
                    error = 1,
                    msg = "Sai thông tin"
                }, JsonRequestBehavior.AllowGet));
            }

            //
            switch (partner.PartnerCode)
            {
            case "VIETTEL":
                SendViettelHandle viettelHandle = new SendViettelHandle(db, partner, HandleHistory);
                viettelHandle.CancelOrder(checkDetail.OrderReference);
                break;

            default:
                break;
            }

            checkDetail.StatusID        = 2;// huy
            db.Entry(checkDetail).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            mailer.ThirdpartyDocID = "";
            mailer.ThirdpartyCode  = "";
            mailer.ThirdpartyID    = "";
            mailer.CurrentStatusID = 2;
            mailer.ThirdpartyCost  = 0;

            db.Entry(mailer).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            return(Json(new ResultInfo()
            {
                error = 0,
                msg = ""
            }, JsonRequestBehavior.AllowGet));
        }