コード例 #1
0
        public ActionResult AddUpdate(etblPropertyCompetitorSet eObj)
        {
            object result = null;

            try
            {
                if (ModelState.IsValid)
                {
                    eObj.iPropId      = Convert.ToInt32(Session["PropId"]);
                    eObj.iActionBy    = ((OneFineRateBLL.BL_Login.UserDetails)Session["UserDetails"]).iUserId;
                    eObj.dtActionDate = DateTime.Now;

                    if (eObj.SelectedCompetitorSet != null)
                    {
                        JArray jArray = (JArray)JsonConvert.DeserializeObject(eObj.SelectedCompetitorSet.Replace("\\", "\""));
                        if (jArray != null)
                        {
                            List <etblPropertyCompetitorSet> lstPropertycompetitorset = new List <etblPropertyCompetitorSet>();
                            foreach (var item in jArray)
                            {
                                lstPropertycompetitorset.Add(new etblPropertyCompetitorSet()
                                {
                                    iPropId      = eObj.iPropId,
                                    iCPropId     = Convert.ToInt32(item["value"]),
                                    dtActionDate = DateTime.Now,
                                    iActionBy    = ((OneFineRateBLL.BL_Login.UserDetails)Session["UserDetails"]).iUserId
                                });
                            }
                            eObj.PropertyCompetitorSetList = lstPropertycompetitorset;
                        }
                    }
                    int j = BL_tblPropertyCompetitorSet.AddUpdateRecord(eObj);
                    if (j == 1)
                    {
                        result = new { st = 1, msg = "Updated successfully." };
                    }
                }
                else
                {
                    result = new { st = 0, msg = "Kindly try after some time." };
                }
            }
            catch (Exception)
            {
                result = new { st = 0, msg = "Kindly try after some time." };
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        //Update a record
        public static int AddUpdateRecord(etblPropertyCompetitorSet eobj)
        {
            int retval = 0;

            using (OneFineRateEntities db = new OneFineRateEntities())
            {
                try
                {
                    List <etblPropertyCompetitorSet> objOld    = new List <etblPropertyCompetitorSet>();
                    List <etblPropertyCompetitorSet> objCommon = new List <etblPropertyCompetitorSet>();
                    List <etblPropertyCompetitorSet> objDelete = new List <etblPropertyCompetitorSet>();
                    List <etblPropertyCompetitorSet> objInsert = new List <etblPropertyCompetitorSet>();

                    #region Assign values to new object
                    objInsert = eobj.PropertyCompetitorSetList;
                    #endregion

                    #region Get Old Data
                    var resultOld = (from s in db.tblPropertyCompetitorSets
                                     select new
                    {
                        s.iPropId,
                        s.iCPropId
                    }).Where(u => u.iPropId == eobj.iPropId).ToList();

                    foreach (var item in resultOld)
                    {
                        objOld.Add((etblPropertyCompetitorSet)OneFineRateAppUtil.clsUtils.ConvertToObject(item, new etblPropertyCompetitorSet()));
                    }
                    objDelete = objOld;
                    #endregion

                    #region Get Common Result and Remove from Existing Objects
                    var resultCommon = (from m in objDelete
                                        join n in objInsert on new { m.iPropId, m.iCPropId } equals new { n.iPropId, n.iCPropId }
                                        select new
                    {
                        m.iPropId,
                        m.iCPropId
                    }).Distinct().ToList();

                    foreach (var item in resultCommon)
                    {
                        objCommon.Add((etblPropertyCompetitorSet)OneFineRateAppUtil.clsUtils.ConvertToObject(item, new etblPropertyCompetitorSet()));
                    }

                    foreach (var item in objCommon)
                    {
                        objDelete.RemoveAll(x => x.iPropId == item.iPropId && x.iCPropId == item.iCPropId);
                        objInsert.RemoveAll(x => x.iPropId == item.iPropId && x.iCPropId == item.iCPropId);
                    }

                    #endregion

                    #region Delete Records

                    for (int i = 0; i < objDelete.Count; i++)
                    {
                        OneFineRate.tblPropertyCompetitorSet obj = (OneFineRate.tblPropertyCompetitorSet)OneFineRateAppUtil.clsUtils.ConvertToObject(objDelete[i], new OneFineRate.tblPropertyCompetitorSet());
                        db.tblPropertyCompetitorSets.Attach(obj);
                        db.Entry(obj).State = System.Data.Entity.EntityState.Deleted;
                        db.SaveChanges();
                    }
                    #endregion

                    #region Insert Records
                    //Add mapings
                    if (eobj.PropertyCompetitorSetList != null)
                    {
                        db.tblPropertyCompetitorSets.AddRange(objInsert.Select(x => new tblPropertyCompetitorSet()
                        {
                            iPropId      = x.iPropId,
                            iCPropId     = x.iCPropId,
                            dtActionDate = x.dtActionDate,
                            iActionBy    = x.iActionBy
                        }).ToList());
                    }
                    db.SaveChanges();
                    retval = 1;
                    #endregion

                    if (objDelete.Count > 0 || objInsert.Count > 0)
                    {
                        retval = 1;
                    }
                    else
                    {
                        retval = 0;
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }
            return(retval);
        }