示例#1
0
        private void PerformSave(ExcelImportEventArgs arg)
        {
            ExcelSheet excelSheet = arg.Result;
            // Extract data from imported Excel sheet
            List <ContactDto> contacts = new List <ContactDto>();

            foreach (ExcelSheetRow excelRow in excelSheet.Rows)
            {
                ContactDto contact = new ContactDto();
                ExtractImportedSheetRow(contact, excelRow);
                contact.EmployeeId = CurrentUserContext.User.MatchId;
                contacts.Add(contact);
            }

            // Save batch
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                ContactFacade facade = new ContactFacade(uow);
                IFacadeUpdateResult <ContactData> result = facade.SaveContacts(contacts);
                if (result.IsSuccessful)
                {
                    arg.Message = string.Format("Batch save done. \\nTotal {0} rows.", contacts.Count);
                }
                else
                {
                    // Deal with Update result
                    ProcUpdateResult(result.ValidationResult, result.Exception);
                }
            }
        }
 private IEnumerable <ContactDto> GetContactList()
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         ContactFacade ContactFacade = new ContactFacade(uow);
         return(ContactFacade.RetrieveAllContact(new ContactConverter()));
     }
 }
示例#3
0
 private void RetrieveData()
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         ContactFacade facade = new ContactFacade(uow);
         RetrieveInstances(facade);
     }
 }
        protected void ucIDetail_ChildListInstanceRowDeleting(object sender, InstanceRowDeletingEventArgs e)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType))
                {
                case InstanceTypes.Contact:
                    ContactFacade facade = new ContactFacade(uow);
                    IFacadeUpdateResult <ContactData> result = facade.DeleteContact(e.Instance.Id);
                    e.IsSuccessful = result.IsSuccessful;

                    if (result.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.Contacts = facade.RetrieveContactsByCustomer(CurrentInstance.Id, new ContactConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result.ValidationResult, result.Exception);
                    }
                    break;

                case InstanceTypes.ScheduleEvent:
                    ScheduleEventFacade facade2 = new ScheduleEventFacade(uow);
                    // Delete data
                    IFacadeUpdateResult <ScheduleEventData> result2 = facade2.DeleteScheduleEvent(e.Instance.Id);
                    e.IsSuccessful = result2.IsSuccessful;
                    if (result2.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.ScheduleEvents = facade2.RetrieveScheduleEventsByCustomer(CurrentInstance.Id, new ScheduleEventConverter());
                    }
                    else
                    {
                        ProcUpdateResult(result2.ValidationResult, result2.Exception);
                    }
                    break;

                case InstanceTypes.ShipTo:
                    ShipToFacade facade3 = new ShipToFacade(uow);
                    // Delete data
                    IFacadeUpdateResult <ShipToData> result3 = facade3.DeleteShipTo(e.Instance.Id);
                    e.IsSuccessful = result3.IsSuccessful;
                    if (result3.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.ShipTos = facade3.RetrieveShipTosByCustomer(CurrentInstance.Id, new ShipToConverter());
                    }
                    else
                    {
                        ProcUpdateResult(result3.ValidationResult, result3.Exception);
                    }
                    break;
                }
            }
        }
 private void RetrieveData()
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         ContactFacade facade   = new ContactFacade(uow);
         ContactDto    instance = facade.RetrieveOrNewContact(InstanceId, new ContactConverter());
         CurrentInstance         = instance;
         ucIEdit.CurrentInstance = instance;
     }
 }
示例#6
0
 private void RetrieveInstances(ContactFacade facade)
 {
     if (CurrentUserContext.IsAdmin)
     {
         CurrentInstances = facade.RetrieveAllContact(new ContactConverter());
     }
     else if (CurrentUserContext.IsEmployee)
     {
         CurrentInstances = facade.RetrieveContactsByEmployee(CurrentUserContext.User.MatchId, new ContactConverter());
     }
 }
示例#7
0
        /// <summary>
        /// Invoked when an item on the recentConversationsListView is clicked.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void recentConversationsListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            //profile to use for 'currentCorrespondentButton' in chatpage.
            Profile _profile = ContactFacade.GetProfile(e.ClickedItem as RecentConversation);

            if (AppShellNavigation.AppShell.IsInMobileMode)
            {
                AppShellNavigation.AppShell.ShowChatPageOnly();
            }
            if (_profile != null)
            {
                if (MessageFacade.Correspondent == null || MessageFacade.Correspondent.User.Id != _profile.User.Id)
                {
                    MessageFacade.Correspondent = _profile;
                    AppShellNavigation.ChatFrame.Navigate(typeof(ChatPage), _profile);
                }
            }
        }
示例#8
0
        protected void ucIList_InstanceRowDeleting(object sender, InstanceRowDeletingEventArgs e)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                ContactFacade facade = new ContactFacade(uow);
                IFacadeUpdateResult <ContactData> result = facade.DeleteContact(e.Instance.Id);
                e.IsSuccessful = result.IsSuccessful;

                if (result.IsSuccessful)
                {
                    // Refresh whole list
                    RetrieveInstances(facade);
                }
                else
                {
                    // Deal with Update result
                    ProcUpdateResult(result.ValidationResult, result.Exception);
                }
            }
        }
示例#9
0
        private DataRow ContactDataBind(ContactDTO contact, string protocolId, bool isSender)
        {
            var contactRow = _protocolDataSet.ContactDataTable.NewContactDataTableRow();

            contactRow.Protocol_ID      = protocolId;
            contactRow.Contact_IsSender = isSender;
            contactRow.Contact_ID       = contact.Id;
            if (contact.Contact != null)
            {
                contactRow.Contact_Description         = contact.Contact.Description;
                contactRow.Contact_FullIncrementalPath = contact.Contact.FullIncrementalPath;
                var formattedDescription = string.Empty;
                ContactFacade.FormatContacts(contact.Contact, ref formattedDescription);
                contactRow.Contact_FormattedDescription = formattedDescription;
                contactRow.Contact_BirthDate            = string.Format("{0:dd/MM/yyyy}", contact.Contact.BirthDate);
                contactRow.Contact_FullDescription      = contact.Contact.FullDescription;
                contactRow.Contact_LastName             = contact.Contact.LastName;
                contactRow.Contact_FirstName            = contact.Contact.FirstName;
                if (contact.Contact.Address != null)
                {
                    contactRow.Contact_Località = string.Format("{0} {1}{2}", contact.Contact.Address.ZipCode,
                                                                contact.Contact.Address.City, !string.IsNullOrEmpty(contact.Contact.Address.CityCode) ? string.Format(" ({0})", contact.Contact.Address.CityCode) : string.Empty);
                    contactRow.Contact_Indirizzo = string.Format("{0}{1}{2}",
                                                                 (contact.Contact.Address.PlaceName != null
                                                                      ? contact.Contact.Address.PlaceName.Description + " "
                                                                      : string.Empty),
                                                                 contact.Contact.Address.Address,
                                                                 !string.IsNullOrEmpty(contact.Contact.Address.CivicNumber)
                                                                      ? string.Format(", {0}", contact.Contact.Address.CivicNumber)
                                                                      : string.Empty);
                    contactRow.Contact_Provincia = contact.Contact.Address.CityCode;
                    contactRow.Contact_Citta     = contact.Contact.Address.City;
                    contactRow.Contact_CAP       = contact.Contact.Address.ZipCode;
                }
            }
            return(contactRow);
        }
        protected void ucIEdit_InstanceSaving(object sender, InstanceSavingEventArgs e)
        {
            ContactDto instance = e.Instance as ContactDto;

            if (instance != null)
            {
                using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
                {
                    ContactFacade facade = new ContactFacade(uow);
                    IFacadeUpdateResult <ContactData> result = facade.SaveContact(instance);
                    e.IsSuccessful = result.IsSuccessful;
                    if (result.IsSuccessful)
                    {
                        // Refresh Instance
                        CurrentInstance = result.ToDto <ContactDto>(new ContactConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result.ValidationResult, result.Exception);
                    }
                }
            }
        }
        protected void ucIDetail_ChildListInstanceRowDeleting(object sender, InstanceRowDeletingEventArgs e)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType))
                {
                case InstanceTypes.ContactContactMethod:
                    ContactFacade facade = new ContactFacade(uow);
                    IFacadeUpdateResult <ContactData> result = facade.DeleteContactContactMethod(CurrentInstance.Id, e.Instance.Id);
                    e.IsSuccessful = result.IsSuccessful;

                    if (result.IsSuccessful)
                    {
                        // Refresh whole list
                        ContactDto savedCurrentInstance = result.ToDto(new ContactConverter());
                        CurrentInstance.ContactContactMethods = savedCurrentInstance.ContactContactMethods;
                        // Note: Can't refresh CurrentInstance this way, it will ruin other child list data
                        //ucIDetail.CurrentInstance = savedCurrentInstance;
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result.ValidationResult, result.Exception);
                    }
                    break;

                case InstanceTypes.ScheduleEvent:
                    ScheduleEventFacade facade2 = new ScheduleEventFacade(uow);
                    // Delete data
                    IFacadeUpdateResult <ScheduleEventData> result2 = facade2.DeleteScheduleEvent(e.Instance.Id);
                    e.IsSuccessful = result2.IsSuccessful;
                    if (result2.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.ScheduleEvents = facade2.RetrieveScheduleEventsByContact(CurrentInstance.Id, new ScheduleEventConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result2.ValidationResult, result2.Exception);
                    }
                    break;

                case InstanceTypes.Activity:
                    ActivityFacade facade3 = new ActivityFacade(uow);
                    // Delete data
                    IFacadeUpdateResult <ActivityData> result3 = facade3.DeleteActivity(e.Instance.Id);
                    e.IsSuccessful = result3.IsSuccessful;
                    if (result3.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.Activitys = facade3.RetrieveActivitysByContact(CurrentInstance.Id, new ActivityConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result3.ValidationResult, result3.Exception);
                    }
                    break;

                case InstanceTypes.Transaction:
                    TransactionFacade facade4 = new TransactionFacade(uow);
                    // Delete data
                    IFacadeUpdateResult <TransactionData> result4 = facade4.DeleteTransaction(e.Instance.Id);
                    e.IsSuccessful = result4.IsSuccessful;
                    if (result4.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.Transactions = facade4.RetrieveTransactionsByContact(CurrentInstance.Id, new TransactionConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result4.ValidationResult, result4.Exception);
                    }
                    break;
                }
            }
        }
        protected void ucIDetail_ChildListInstanceRowSaving(object sender, InstanceRowSavingEventArgs e)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType))
                {
                case InstanceTypes.ContactContactMethod:
                    ContactFacade           facade           = new ContactFacade(uow);
                    ContactContactMethodDto contactMethodDto = e.Instance as ContactContactMethodDto;
                    // Save data
                    IFacadeUpdateResult <ContactData> result = facade.SaveContactContactMethod(CurrentInstance.Id, contactMethodDto);
                    e.IsSuccessful = result.IsSuccessful;
                    if (result.IsSuccessful)
                    {
                        // Refresh
                        ContactDto savedCurrentInstance = result.ToDto(new ContactConverter());
                        CurrentInstance.ContactContactMethods = savedCurrentInstance.ContactContactMethods;
                        // Note: Can't refresh CurrentInstance this way, it will ruin other child list data
                        //ucIDetail.CurrentInstance = savedInstance;
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result.ValidationResult, result.Exception);
                    }
                    break;

                case InstanceTypes.ScheduleEvent:
                    ScheduleEventFacade facade2  = new ScheduleEventFacade(uow);
                    ScheduleEventDto    eventDto = e.Instance as ScheduleEventDto;
                    eventDto.ObjectId     = CurrentInstance.Id;
                    eventDto.ObjectTypeId = (int)EventObjectTypes.Contact;
                    // Save data
                    IFacadeUpdateResult <ScheduleEventData> result2 = facade2.SaveScheduleEvent(eventDto);
                    e.IsSuccessful = result2.IsSuccessful;
                    if (result2.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.ScheduleEvents = facade2.RetrieveScheduleEventsByContact(CurrentInstance.Id, new ScheduleEventConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result2.ValidationResult, result2.Exception);
                    }
                    break;

                case InstanceTypes.Activity:
                    ActivityFacade facade3     = new ActivityFacade(uow);
                    ActivityDto    activityDto = e.Instance as ActivityDto;
                    activityDto.ContactId  = CurrentInstance.Id;
                    activityDto.CustomerId = CurrentInstance.CustomerId;
                    activityDto.EmployeeId = CurrentUserContext.User.MatchId;
                    // Save data
                    IFacadeUpdateResult <ActivityData> result3 = facade3.SaveActivity(activityDto);
                    e.IsSuccessful = result3.IsSuccessful;
                    if (result3.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.Activitys = facade3.RetrieveActivitysByContact(CurrentInstance.Id, new ActivityConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result3.ValidationResult, result3.Exception);
                    }
                    break;

                case InstanceTypes.Transaction:
                    TransactionFacade facade4        = new TransactionFacade(uow);
                    TransactionDto    TransactionDto = e.Instance as TransactionDto;
                    TransactionDto.ContactId  = CurrentInstance.Id;
                    TransactionDto.CustomerId = CurrentInstance.CustomerId;
                    // Save data
                    IFacadeUpdateResult <TransactionData> result4 = facade4.SaveTransaction(TransactionDto);
                    e.IsSuccessful = result4.IsSuccessful;
                    if (result4.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.Transactions = facade4.RetrieveTransactionsByContact(CurrentInstance.Id, new TransactionConverter());
                    }
                    else
                    {
                        // Deal with Update result
                        ProcUpdateResult(result4.ValidationResult, result4.Exception);
                    }
                    break;
                }
            }
        }
        protected void ucIDetail_ChildListInstanceRowSaving(object sender, InstanceRowSavingEventArgs e)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType))
                {
                case InstanceTypes.Contact:
                    ContactFacade facade     = new ContactFacade(uow);
                    ContactDto    contactDto = e.Instance as ContactDto;
                    contactDto.CustomerId = CurrentInstance.Id;
                    // Save data
                    IFacadeUpdateResult <ContactData> result = facade.SaveContact(contactDto);
                    e.IsSuccessful = result.IsSuccessful;
                    if (result.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.Contacts = facade.RetrieveContactsByCustomer(CurrentInstance.Id, new ContactConverter());
                    }
                    else
                    {
                        ProcUpdateResult(result.ValidationResult, result.Exception);
                    }
                    break;

                case InstanceTypes.ScheduleEvent:
                    ScheduleEventFacade facade2  = new ScheduleEventFacade(uow);
                    ScheduleEventDto    eventDto = e.Instance as ScheduleEventDto;
                    eventDto.ObjectId     = CurrentInstance.Id;
                    eventDto.ObjectTypeId = (int)EventObjectTypes.Customer;
                    // Save data
                    IFacadeUpdateResult <ScheduleEventData> result2 = facade2.SaveScheduleEvent(eventDto);
                    e.IsSuccessful = result2.IsSuccessful;
                    if (result2.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.ScheduleEvents = facade2.RetrieveScheduleEventsByCustomer(CurrentInstance.Id, new ScheduleEventConverter());
                    }
                    else
                    {
                        ProcUpdateResult(result2.ValidationResult, result2.Exception);
                    }
                    break;

                case InstanceTypes.ShipTo:
                    ShipToFacade facade3   = new ShipToFacade(uow);
                    ShipToDto    shipToDto = e.Instance as ShipToDto;
                    shipToDto.CustomerId = CurrentInstance.Id;
                    // Save data
                    IFacadeUpdateResult <ShipToData> result3 = facade3.SaveShipTo(shipToDto);
                    e.IsSuccessful = result3.IsSuccessful;
                    if (result3.IsSuccessful)
                    {
                        // Refresh data in session
                        CurrentInstance.ShipTos = facade3.RetrieveShipTosByCustomer(CurrentInstance.Id, new ShipToConverter());
                    }
                    else
                    {
                        ProcUpdateResult(result3.ValidationResult, result3.Exception);
                    }
                    break;
                }
            }
        }
 public ContactsPageViewModel()
 {
     _allFriends          = ContactFacade.GetAllFriends(out error);
     _recentConversations = ContactFacade.GetRecentConversations(out error);
     Friends = ContactFacade.GetFriendProfiles();
 }