Example #1
0
        public void DeleteMessage(MailMessage message, bool permanent = false)
        {
            message.Flags |= MailFlags.Deleted; // marke the message as deleted

            //first simuate deleting the item by moving it to the deleted folders
            if (!DeletedItems.Contains(message))
            {
                DeletedItems.Add(message);
            }

            if (InboxItems.Contains(message))
            {
                InboxItems.Remove(message);
            }

            if (DraftItems.Contains(message))
            {
                DraftItems.Remove(message);
            }

            if (SentItems.Contains(message))
            {
                SentItems.Remove(message);
            }

            if (permanent)
            {
                if (DeletedItems.Contains(message))
                {
                    DeletedItems.Remove(message);
                }
            }
        }
 /// <summary>
 /// Clear the item from observable collection
 /// </summary>
 protected override void ClearItems()
 {
     foreach (T item in this.Items)
     {
         DeletedItems.Add(item);
     }
     base.ClearItems();
 }
 public DataChangedEvent(Guid localAccountId, IEnumerable <BaseDataItem> newItems, IEnumerable <BaseDataItem> editedItems, DeletedItems deletedItems, bool wasLocalChanges, DataChanges originalChanges)
 {
     LocalAccountId  = localAccountId;
     _newItems       = newItems.ToList();
     _editedItems    = editedItems.ToList();
     _deletedItems   = deletedItems;
     WasLocalChanges = wasLocalChanges;
     EditedClassIdentifiersToIgnoreFromCalendarIntegration = new HashSet <Guid>(originalChanges.EditedClassIdentifiersToIgnoreFromCalendarIntegration);
 }
Example #4
0
 public void DeleteMangaInfo(MangaInfo item, bool addToDeletedItems)
 {
     if (addToDeletedItems)
     {
         var deleted = new DeletedMangaInfo(item);
         DeletedItems.Add(deleted);
     }
     Items.Remove(item);
     SaveChanges();
 }
        protected void DeleteBillItem(Guid Id)
        {
            var billItem = billing.billingLineItems.Where(a => a.Id.Equals(Id)).FirstOrDefault();

            billing.billingLineItems.Remove(billItem);
            billing.totalAmount = billing.billingLineItems.Sum(a => a.amount);
            billing.balance     = billing.totalAmount - billing.amountPaid;
            BillingLineItemDetail.ShowDialog = false;
            DeletedItems.AppendFormat("{0}|", Id.ToString());

            StateHasChange();
        }
        /// <summary>
        /// remove the item at an index
        /// </summary>
        /// <param name="index"></param>
        protected override void RemoveItem(int index)
        {
            T item = this[index];

            base.RemoveItem(index);
            DeletedItems.Add(item);

            if (ItemRemoved != null)
            {
                ItemRemoved(item);
            }
        }
Example #7
0
 public void UndoChanges()
 {
     foreach (var editable in ChangedItems.ToArray())
     {
         editable.UndoChanges();
     }
     foreach (var deleted in DeletedItems.ToArray())
     {
         deleted.UndoChanges();
     }
     _inserted.Clear();
 }
Example #8
0
            public async Task SetInputs(string[] designTimeInputs, string[] sharedDesignTimeInputs)
            {
                designTimeInputs       = designTimeInputs ?? Array.Empty <string>();
                sharedDesignTimeInputs = sharedDesignTimeInputs ?? Array.Empty <string>();
                await base.ApplyAsync(new DesignTimeInputsDelta
                {
                    AddedItems       = ImmutableArray.CreateRange <string>(designTimeInputs),
                    AddedSharedItems = ImmutableArray.CreateRange <string>(sharedDesignTimeInputs)
                });

                DeletedItems.Clear();
                DirtyItems.Clear();
                CompiledItems.Clear();
            }
Example #9
0
        /// <summary>
        /// Removes the item at the specified index.
        /// </summary>
        /// <param name="index">The zero-based index of the item to remove.</param>
        protected override void RemoveItem(int index)
        {
            T item = Items[index];

            if (item != null)
            {
                //Move item to deleted collection(if not in added state)
                if (item.EntityState != EntityState.Added)
                {
                    item.MarkToDelete();
                    DeletedItems.Add(item);
                }
                base.RemoveItem(index);
            }
        }
 internal override void OnDesignTimeOutputDeleted(string outputMoniker)
 {
     DeletedItems.Add(outputMoniker);
 }
        protected async Task HandleValidSubmit()
        {
            try
            {
                IsDataLoaded = false;

                if (string.IsNullOrEmpty(billingId))
                {
                    using (var dbConnection = dapperManager.GetConnection())
                    {
                        dbConnection.Open();

                        using (var transaction = dbConnection.BeginTransaction())
                        {
                            try
                            {
                                var param = new Dapper.DynamicParameters();
                                param.Add("billId", billing.billId, System.Data.DbType.Guid);
                                param.Add("createdBy", UserName, System.Data.DbType.String);
                                param.Add("dateDue", billing.dateDue, System.Data.DbType.DateTime);
                                param.Add("totalAmount", billing.totalAmount, System.Data.DbType.Decimal);
                                param.Add("status", billing.status, System.Data.DbType.String);
                                param.Add("propertyDirectoryId", billing.propertyDirectoryId, System.Data.DbType.Guid);
                                param.Add("companyId", CompanyId, System.Data.DbType.String);
                                param.Add("amountPaid", billing.amountPaid, System.Data.DbType.Decimal);
                                param.Add("balance", billing.balance, System.Data.DbType.Decimal);
                                param.Add("documentId", billing.documentId, System.Data.DbType.String);
                                param.Add("transactionDate", billing.transactionDate, System.Data.DbType.DateTime);
                                param.Add("MonthYear", billing.MonthYear, System.Data.DbType.String);
                                param.Add("billType", billing.billType, System.Data.DbType.String);

                                var result = await dapperManager.ExecuteAsync("spInsertBillings", transaction, dbConnection, param);

                                foreach (BillingLineItem item in billing.billingLineItems)
                                {
                                    var paramLine = new Dapper.DynamicParameters();
                                    paramLine.Add("Id", item.Id, System.Data.DbType.Guid);
                                    paramLine.Add("description", item.description, System.Data.DbType.String);
                                    paramLine.Add("amount", item.amount, System.Data.DbType.Decimal);
                                    paramLine.Add("lineNo", item.lineNo, System.Data.DbType.Int32);
                                    paramLine.Add("billingId", billing.billId, System.Data.DbType.Guid);
                                    paramLine.Add("generated", item.generated, System.Data.DbType.Boolean);
                                    paramLine.Add("amountPaid", item.amountPaid, System.Data.DbType.Decimal);
                                    paramLine.Add("billLineType", item.billLineType, System.Data.DbType.String);
                                    await dapperManager.ExecuteAsync("spInsertBillingLineItem", transaction, dbConnection, paramLine);
                                }

                                param = null;
                                param = new Dapper.DynamicParameters();
                                param.Add("billId", billing.billId, System.Data.DbType.Guid);
                                result = await dapperManager.ExecuteAsync("spClosePreviousBill", transaction, dbConnection, param);

                                transaction.Commit();
                                NavigateToList();
                            }
                            catch (Exception ex)
                            {
                                ErrorMessage = ex.ToString();
                                transaction.Rollback();
                            }
                            finally
                            {
                                if (dbConnection.State == ConnectionState.Open)
                                {
                                    dbConnection.Close();
                                }
                            }
                        }
                    }
                }
                else
                {
                    using (var dbConnection = dapperManager.GetConnection())
                    {
                        dbConnection.Open();

                        using (var transaction = dbConnection.BeginTransaction())
                        {
                            try
                            {
                                var param = new Dapper.DynamicParameters();
                                param.Add("billId", billing.billId, System.Data.DbType.Guid);
                                param.Add("updatedBy", UserName, System.Data.DbType.String);

                                param.Add("dateDue", billing.dateDue, System.Data.DbType.DateTime);
                                param.Add("totalAmount", billing.totalAmount, System.Data.DbType.Decimal);
                                param.Add("status", billing.status, System.Data.DbType.String);
                                param.Add("amountPaid", billing.amountPaid, System.Data.DbType.Decimal);
                                param.Add("balance", billing.balance, System.Data.DbType.Decimal);

                                var result = await dapperManager.ExecuteAsync("spUpdateBillings", transaction, dbConnection, param);

                                foreach (BillingLineItem item in billing.billingLineItems)
                                {
                                    var paramLine = new Dapper.DynamicParameters();
                                    paramLine.Add("Id", item.Id, System.Data.DbType.Guid);
                                    paramLine.Add("description", item.description, System.Data.DbType.String);
                                    paramLine.Add("amount", item.amount, System.Data.DbType.Decimal);
                                    paramLine.Add("lineNo", item.lineNo, System.Data.DbType.Int32);
                                    paramLine.Add("billingId", billing.billId, System.Data.DbType.Guid);
                                    paramLine.Add("generated", item.generated, System.Data.DbType.Boolean);
                                    paramLine.Add("amountPaid", item.amountPaid, System.Data.DbType.Decimal);
                                    paramLine.Add("billLineType", item.billLineType, System.Data.DbType.String);
                                    await dapperManager.ExecuteAsync("spInsertOrUpdateBillingLineItem", transaction, dbConnection, paramLine);
                                }

                                if (!string.IsNullOrEmpty(DeletedItems.ToString()))
                                {
                                    var itemsToDelete = DeletedItems.ToString().Split("|");
                                    foreach (string item in itemsToDelete)
                                    {
                                        Guid id = Guid.Empty;
                                        if (Guid.TryParse(item, out id))
                                        {
                                            var paramLine = new Dapper.DynamicParameters();
                                            paramLine.Add("Id", id, System.Data.DbType.Guid);
                                            await dapperManager.ExecuteAsync("spDeleteBillingLineItem", transaction, dbConnection, paramLine);
                                        }
                                    }
                                }

                                transaction.Commit();
                                NavigateToList();
                            }
                            catch (Exception ex)
                            {
                                ErrorMessage = ex.ToString();
                                transaction.Rollback();
                            }
                            finally
                            {
                                if (dbConnection.State == ConnectionState.Open)
                                {
                                    dbConnection.Close();
                                }
                            }
                        }
                    }
                }

                await SaveEventCallback.InvokeAsync(true);
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.ToString();
                IsDataLoaded = true;
            }

            if (!string.IsNullOrEmpty(ErrorMessage))
            {
                ShowDialog = true;
                StateHasChanged();
                return;
            }

            ShowDialog = false;
            StateHasChanged();
        }
Example #12
0
 private void ClearChanges()
 {
     NewItems.Clear();
     DirtyItems.Clear();
     DeletedItems.Clear();
 }
Example #13
0
 public void RegisterDeleted(object entity)
 {
     //_innerUnitOfWork.RegisterDeleted(entity);
     DeletedItems.Add(entity);
 }