Esempio n. 1
0
 public bool AddToWishlist(string studentEmail, int flatId, int score)
 {
     MdlApplication mdlApplicationObj = GetApplicationObj(studentEmail, flatId, score);
     DbApplications dbApplicationsObj = new DbApplications();
     CtrApplications ctrApplicationObj = new CtrApplications();
     //Get current Application table for specific flat
     DataSet ds = dbApplicationsObj.GetApplicationsDataSet(mdlApplicationObj.StudentEmail, mdlApplicationObj.FlatId);
     if (ds.Tables.Count == 0)
         return false;
     //Update dataset - add current application and order queue
     ds = ctrApplicationObj.UpdateDataSet(ds, mdlApplicationObj);
     //update dataset
     return dbApplicationsObj.UpdateApplications(ds, mdlApplicationObj);
     //return false;
 }
Esempio n. 2
0
        public bool RemoveFromWishlist(string studentEmail, int flatId)
        {
            MdlApplication mdlApplicationObj = GetApplicationObj(studentEmail, flatId, 0);
            DbApplications dbApplicationsObj = new DbApplications();
            CtrApplications ctrApplicationObj = new CtrApplications();

            var option = new TransactionOptions();
            option.IsolationLevel = System.Transactions.IsolationLevel.Serializable;
            option.Timeout = TimeSpan.FromSeconds(30);
            using (var scope = new TransactionScope(TransactionScopeOption.Required, option))
            {
                try
                {
                    //Get current Application table for specific flat
                    DataSet ds = dbApplicationsObj.GetApplicationsDataSetRomove(mdlApplicationObj.StudentEmail, mdlApplicationObj.FlatId);
                    if (ds.Tables.Count == 0)
                        return false;
                    //Update dataset - add current application and order queue
                    ds = ctrApplicationObj.UpdateDataSetToRemove(ds, mdlApplicationObj);
                    //update dataset
                    bool result = dbApplicationsObj.UpdateApplications(ds, mdlApplicationObj);
                    if (result)
                        scope.Complete();
                    else
                        scope.Dispose();

                    return result;

                }
                catch
                {
                    Transaction.Current.Rollback();
                    return false;
                }
                finally
                {
                    if (scope != null)
                        ((IDisposable)scope).Dispose();
                }
            }
        }