Ejemplo n.º 1
0
        public void addMOAPartner(MOAPartnerInfo input, int moa_id)
        {
            using (DbContextTransaction transaction = db.Database.BeginTransaction())
            {
                try
                {
                    DateTime moa_start_date = DateTime.ParseExact(input.sign_date_moa_add, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    //add MOAPartner
                    db.MOAPartners.Add(new MOAPartner
                    {
                        moa_id         = moa_id,
                        moa_start_date = moa_start_date,
                        partner_id     = input.partner_id
                    });

                    foreach (int itemScope in input.coop_scope_add.ToList())
                    {
                        PartnerScope psCheck = db.PartnerScopes.Where(x => x.partner_id == input.partner_id && x.scope_id == itemScope).FirstOrDefault();
                        if (psCheck != null)
                        {
                            psCheck.reference_count += 1;
                            db.MOAPartnerScopes.Add(new MOAPartnerScope
                            {
                                partner_scope_id = psCheck.partner_scope_id,
                                moa_id           = moa_id
                            });
                        }
                        else
                        {
                            PartnerScope psAdded = db.PartnerScopes.Add(new PartnerScope
                            {
                                partner_id      = input.partner_id,
                                scope_id        = itemScope,
                                reference_count = 1
                            });
                            db.MOAPartnerScopes.Add(new MOAPartnerScope
                            {
                                partner_scope_id = psAdded.partner_scope_id,
                                moa_id           = moa_id
                            });
                        }
                    }
                    db.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
        }
 public ActionResult Add_Moa_Partner(MOAPartnerInfo input)
 {
     try
     {
         string id = Session["moa_detail_id"].ToString();
         moa.addMOAPartner(input, int.Parse(id));
         return(Json("", JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json("", JsonRequestBehavior.AllowGet));
     }
 }