Пример #1
0
        public void Should_Show_Assist_ContactsMagnifier()
        {
            // arrange
            IInteractionRequestController service             = _unityContainer.Resolve <IInteractionRequestController>();
            AssistMockViewModel           assistMockViewModel = new AssistMockViewModel(_eventManager.Object,
                                                                                        _configurationService.Object,
                                                                                        _dataServices.Object,
                                                                                        _dialogService.Object,
                                                                                        _regionManager.Object,
                                                                                        service);

            Assert.NotNull(assistMockViewModel.LaunchContact);

            IList <ContactsViewObject> contactsDto = new List <ContactsViewObject>()
            {
                new ContactsViewObject()
                {
                    ContactId = "100", ContactName = "Alex"
                },
                new ContactsViewObject()
                {
                    ContactId = "200", ContactName = "Madrid"
                }
            };

            assistMockViewModel.LaunchBranches.Execute(contactsDto);

            ContactsViewObject contactViewObject = assistMockViewModel.SelectedContact;

            // assert
            Assert.True(contactsDto.Contains(contactViewObject));
        }
Пример #2
0
        public void Should_Answer_OnContact_Assist()
        {
            var dto = new ContactsViewObject();

            viewModel.ContactChargeMagnifierCommand.Execute(dto);
            var contacts = viewModel.ContactsDto;
            var b        = contacts.Where(x => x.ContactId == dto.ContactId);

            Assert.AreEqual(b, dto);
        }
Пример #3
0
        internal override async Task SetVisitContacts(ContactsViewObject p, VisitsViewObject b)
        {
            IList <VisitsViewObject> visitList = new List <VisitsViewObject>();
            var ev = CreateGridEvent <ContactsViewObject, VisitsViewObject>(p,
                                                                            b,
                                                                            visitList, new DelegateCommand <object>((_branchesDto) =>
            {
                _showExecuted = true;
            }));
            await Task.Delay(1);

            EventDictionary = ev;
        }
Пример #4
0
        internal override async Task SetVisitContacts(ContactsViewObject p, VisitsViewObject visitsDto)

        {
            //set the id to the current visit.
            visitsDto.ClientId = PrimaryKeyValue;
            var currentObject = DataObject as ISupplierData;
            var ev            = CreateGridEvent <ContactsViewObject, VisitsViewObject>(p, visitsDto, currentObject.VisitsDto, this.ContactMagnifierCommand);
            var newList       = new List <VisitsViewObject>();

            newList.Add(visitsDto);
            var exitDto    = currentObject.VisitsDto;
            var mergedList = exitDto.Union <VisitsViewObject>(newList);

            currentObject.VisitsDto = mergedList;
            ev["DataObject"]        = currentObject;
            // Notify the toolbar.
            await GridChangedNotification <VisitsViewObject, VISITAS_PROV>(ev, _onVisitPrimaryKey, DataSubSystem.SupplierSubsystem).ConfigureAwait(false);
        }
Пример #5
0
        void AssociatedObject_RowValidating(object sender, RowValidatingEventArgs args)
        {
            var data = args.RowData as ContactsViewObject;

            if (data == null)
            {
                args.ErrorMessages.Add("General", "Invalid insert");
                args.IsValid = false;
                return;
            }

            if (lastChangedObject == null)
            {
                lastChangedObject = data;
            }
            Dictionary <string, object> objectName = new Dictionary <string, object>();

            objectName["DataObject"]    = ControlExt.GetDataSource(AssociatedObject);
            objectName["ChangedValue"]  = data;
            objectName["PreviousValue"] = lastChangedObject;
        }
Пример #6
0
        /// <summary>
        ///  Set Contacts Charge.
        /// </summary>
        /// <param name="personal">Personal Position Dto.</param>
        /// <param name="contactsViewObject">Contacts Dto.</param>
        public override async Task SetContactsCharge(PersonalPositionViewObject personal, ContactsViewObject contactsViewObject)
        {
            var contacts = DataObject.ContactsDto;
            Dictionary <string, object> ev = new Dictionary <string, object> {
                ["DataObject"] = DataObject
            };
            var items = new List <ContactsViewObject>();


            var contact = contacts.FirstOrDefault(x => x.ContactId == contactsViewObject.ContactId);

            if (contact == null)
            {
                ev["Operation"] = ControlExt.GridOp.Insert;
                // insert case
                contact         = contactsViewObject;
                contact.IsNew   = true;
                contact.IsDirty = true;
            }
            else
            {
                contact           = contactsViewObject;
                ev["Operation"]   = ControlExt.GridOp.Update;
                contact.IsChanged = true;
                contact.IsDirty   = true;
                contact.IsNew     = false;
            }
            contact.ResponsabilitySource = personal;
            personal.ShowCommand         = this.ContactChargeMagnifierCommand;
            contact.ResponsabilitySource = personal;
            // add the changed value to the branch.
            items.Add(contact);
            ev["ChangedValue"] = items;


            await GridChangedNotification <ContactsViewObject, CONTACTOS_COMI>(ev, _onContactsPrimaryKey, DataSubSystem.CommissionAgentSubystem).ConfigureAwait(false);

            RaisePropertyChanged("DataObject");
            RaisePropertyChanged("DataObject.ContactsViewObject");
        }
Пример #7
0
 internal override Task SetVisitContacts(ContactsViewObject p, VisitsViewObject visitsViewObject)
 {
     throw new System.NotImplementedException();
 }
Пример #8
0
        protected override async Task <DataPayLoad> HandleSaveOrUpdate(DataPayLoad payLoad)
        {
            bool          result       = false;
            bool          isInsert     = false;
            ISupplierData supplierData = payLoad.DataObject as ISupplierData;

            if (supplierData == null)
            {
                string message = (payLoad.PayloadType == DataPayLoad.Type.Insert) ? "Error during the insert" : "Error during the update";
                OnErrorExecuting?.Invoke(message);
                return(new DataPayLoad());
            }
            if (DataServices == null)
            {
                DataPayLoad nullDataPayLoad = new NullDataPayload();
                return(nullDataPayLoad);
            }
            var checkedSupplierData = await DataServices.GetSupplierDataServices().GetAsyncSupplierDo(supplierData.Value.NUM_PROVEE);

            if (checkedSupplierData.Value == null)
            {
                payLoad.PayloadType = DataPayLoad.Type.Insert;
            }
            switch (payLoad.PayloadType)
            {
            case DataPayLoad.Type.Update:
            {
                result = await DataServices.GetSupplierDataServices().SaveChanges(supplierData)
                         .ConfigureAwait(false);

                break;
            }

            case DataPayLoad.Type.Insert:
            {
                isInsert = true;
                result   = await DataServices.GetSupplierDataServices().Save(supplierData).ConfigureAwait(true);

                break;
            }

            case DataPayLoad.Type.UpdateInsertGrid:
            {
                result = true;
                if (payLoad.RelatedObject is IEnumerable <BranchesViewObject> )
                {
                    await UpdateGridAsync <BranchesViewObject, ProDelega>(payLoad);
                }
                else
                {
                    await UpdateGridAsync <ContactsViewObject, ProContactos>(payLoad);
                }
                break;
            }

            case DataPayLoad.Type.DeleteGrid:
            {
                if (payLoad.RelatedObject is IEnumerable <BranchesViewObject> branches)
                {
                    foreach (var branch in branches)
                    {
                        if (branch.IsDeleted)
                        {
                            // a delete bulk.
                            result = await DataServices.GetHelperDataServices().ExecuteAsyncDelete <BranchesViewObject, ProDelega>(branch);
                        }
                    }
                }
                ContactsViewObject contactsViewObject = payLoad.RelatedObject as ContactsViewObject;
                if (contactsViewObject != null)
                {
                    result = await DataServices.GetHelperDataServices().ExecuteAsyncDelete <ContactsViewObject, ProContactos>(contactsViewObject);
                }
                break;
            }
            }
            if (result)
            {
                payLoad.Sender               = ToolBarModule.NAME;
                payLoad.PayloadType          = DataPayLoad.Type.UpdateView;
                CurrentPayload               = new DataPayLoad();
                CurrentPayload.PayloadType   = DataPayLoad.Type.UpdateView;
                CurrentPayload.DataObject    = supplierData;
                CurrentPayload.Sender        = ToolBarModule.NAME;
                CurrentPayload.HasDataObject = true;
                CurrentPayload.Subsystem     = payLoad.Subsystem;
            }
            else
            {
                string message = isInsert ? "Error during the insert" : "Error during the update";
                OnErrorExecuting?.Invoke(message);
            }
            return(payLoad);
        }
Пример #9
0
 private void ClientOnContactsPrimaryKey(ref ContactsViewObject primaryKey)
 {
     primaryKey.ContactsKeyId = PrimaryKeyValue;
 }
Пример #10
0
 // TODO: remove duplications.
 private void CommissionAgentInfoViewModel__onContactsPrimaryKey(ref ContactsViewObject primaryKey)
 {
     primaryKey.Code          = PrimaryKeyValue;
     primaryKey.ContactsKeyId = PrimaryKeyValue;
 }
Пример #11
0
 private void ProviderInfoViewModel__onContactsPrimaryKey(ref ContactsViewObject primaryKey)
 {
     primaryKey.ContactsKeyId = PrimaryKeyValue;
 }
Пример #12
0
        public override async Task SetContactsCharge(PersonalPositionViewObject personal, ContactsViewObject contactsDto)
        {
            var supplierData = DataObject as ISupplierData;
            IEnumerable <ContactsViewObject> contactsDtos = supplierData.ContactsDto;
            var ev = SetContacts(personal, contactsDto, DataObject, contactsDtos);

            await GridChangedNotification <ContactsViewObject, ProContactos>(ev, _onContactsPrimaryKey, DataSubSystem.SupplierSubsystem).ConfigureAwait(false);

            RaisePropertyChanged("DataObject");
            RaisePropertyChanged("DataObject.ContactsDto");
        }
Пример #13
0
        public async Task Should_InsertContacts_Correctly()
        {
            // arrange
            IDictionary <string, string> fields;

            fields = new Dictionary <string, string>
            {
                { CommissionAgent.Comisio, "NUM_COMI,NOMBRE,DIRECCION,PERSONA,NIF,NACIOPER,TIPOCOMI" },
                { CommissionAgent.Tipocomi, "NUM_TICOMI, ULTMODI, USUARIO, NOMBRE" },
                { CommissionAgent.Visitas, " * " },
                { CommissionAgent.Branches, "* " }
            };
            string numComi = await GetFirstId();

            ICommissionAgent commissionAgent = await _commissionAgentDataServices.GetCommissionAgentDo(numComi);

            // check if the condition is valid.
            Assert.True(commissionAgent.Valid);
            ComisioViewObject  internalValue      = (ComisioViewObject)commissionAgent.Value;
            ContactsViewObject contactsViewObject = new ContactsViewObject();
            string             contactosId        = string.Empty;
            int comiDelega = 0;

            // this open a db connection and ensure that the primary key is unique.
            using (var dbconnection = _sqlExecutor.OpenNewDbConnection())
            {
                CONTACTOS_COMI comi = new CONTACTOS_COMI();
                contactosId = dbconnection.UniqueId(comi);
                var allDelega = await dbconnection.GetAsyncAll <COMI_DELEGA>();

                var singleDelega = allDelega.FirstOrDefault();
                if (singleDelega != null)
                {
                    comiDelega = singleDelega.cldIdDelega;
                }
            }
            Random random = new Random();

            contactsViewObject.ContactId                 = contactosId;
            contactsViewObject.ContactName               = "Pineapple";
            contactsViewObject.ContactsKeyId             = internalValue.NUM_COMI;
            contactsViewObject.Nif                       = "Y171559F";
            contactsViewObject.Email                     = "*****@*****.**";
            contactsViewObject.Movil                     = "33409304";
            contactsViewObject.State                     = 0;
            contactsViewObject.ResponsabilitySource      = new PersonalPositionViewObject();
            contactsViewObject.ResponsabilitySource.Code = "1";
            contactsViewObject.ResponsabilitySource.Name = "GERENTE";
            contactsViewObject.CurrentDelegation         = comiDelega.ToString();
            contactsViewObject.IsDirty                   = true;
            contactsViewObject.IsNew                     = true;
            IHelperDataServices        helper   = _dataServices.GetHelperDataServices();
            IList <ContactsViewObject> entities = new List <ContactsViewObject>();

            entities.Add(contactsViewObject);
            // act
            bool inserted = await helper.ExecuteBulkInsertAsync <ContactsViewObject, CONTACTOS_COMI>(entities);

            var allSavedContacts = await helper.GetMappedAllAsyncHelper <ContactsViewObject, CONTACTOS_COMI>();

            var singleContact = allSavedContacts.FirstOrDefault(x => x.ContactId == contactosId);

            Assert.True(inserted);
            Assert.NotNull(singleContact);
            Assert.AreEqual(singleContact.ContactsKeyId, contactsViewObject.ContactsKeyId);
            Assert.AreEqual(singleContact.Email, contactsViewObject.Email);
            Assert.AreEqual(singleContact.Nif, contactsViewObject.Nif);
            Assert.AreEqual(singleContact.Movil, contactsViewObject.Movil);
            Assert.AreEqual(singleContact.State, contactsViewObject.State);
            Assert.AreEqual(singleContact.ResponsabilitySource.Code, contactsViewObject.ResponsabilitySource.Code);
            Assert.AreEqual(singleContact.ResponsabilitySource.Name, contactsViewObject.ResponsabilitySource.Name);
        }