Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateContact([FromBody] ContactDataTransformation contactDataTransformation)
        {
            SecurityModel securityModel = (SecurityModel)(HttpContext.Items["SecurityModel"]);

            // int accountId = securityModel.AccountId;

            //contactDataTransformation.AccountId = accountId;
            //
            ResponseModel <ContactDataTransformation> returnResponse = new ResponseModel <ContactDataTransformation>();

            try
            {
                returnResponse = await _contactManagementBusinessService.UpdateContact(contactDataTransformation);

                returnResponse.Token = securityModel.Token;
                if (returnResponse.ReturnStatus == false)
                {
                    return(BadRequest(returnResponse));
                }

                return(Ok(returnResponse));
            }
            catch (Exception ex)
            {
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
                return(BadRequest(returnResponse));
            }
        }
        public async Task <ResponseModel <ContactDataTransformation> > CreateContact(ContactDataTransformation contactDataTransformation)
        {
            ResponseModel <ContactDataTransformation> returnResponse = new ResponseModel <ContactDataTransformation>();

            Contact contact = new Contact();

            try
            {
                _contactManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);
                _contactManagementDataService.BeginTransaction((int)IsolationLevel.Serializable);

                ContactBusinessRules <ContactDataTransformation> contactBusinessRules = new ContactBusinessRules <ContactDataTransformation>(contactDataTransformation, _contactManagementDataService);
                ValidationResult validationResult = await contactBusinessRules.Validate();

                if (validationResult.ValidationStatus == false)
                {
                    _contactManagementDataService.RollbackTransaction();

                    returnResponse.ReturnMessage = validationResult.ValidationMessages;
                    returnResponse.ReturnStatus  = validationResult.ValidationStatus;

                    return(returnResponse);
                }

                contact = _mapper.Map <Contact>(contactDataTransformation);
                contact.BillingAddress      = _mapper.Map <Address>(contactDataTransformation.billingAddress);
                contact.ShippingAddress     = _mapper.Map <Address>(contactDataTransformation.shippingAddress);
                contact.TaxAndPaymentDetail = _mapper.Map <TaxAndPaymentDetails>(contactDataTransformation.taxPaymentDetail);

                await _contactManagementDataService.CreateContact(contact);

                await _contactManagementDataService.UpdateDatabase();

                _contactManagementDataService.CommitTransaction();

                returnResponse.ReturnStatus = true;
            }
            catch (Exception ex)
            {
                _contactManagementDataService.RollbackTransaction();
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
            }
            finally
            {
                _contactManagementDataService.CloseConnection();
            }

            //contactDataTransformation.ContactId = contact.ContactId;

            returnResponse.Entity = contactDataTransformation;

            return(returnResponse);
        }
        public async Task <ResponseModel <List <ContactDataTransformation> > > GetContact(int accountId, string searchText, int currentPageNumber, int pageSize, string sortExpression, string sortDirection)
        {
            ResponseModel <List <ContactDataTransformation> > returnResponse = new ResponseModel <List <ContactDataTransformation> >();

            List <ContactDataTransformation> salesOrders = new List <ContactDataTransformation>();

            try
            {
                _contactManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);

                DataGridPagingInformation dataGridPagingInformation = new DataGridPagingInformation();
                dataGridPagingInformation.CurrentPageNumber = currentPageNumber;
                dataGridPagingInformation.PageSize          = pageSize;
                dataGridPagingInformation.SortDirection     = sortDirection;
                dataGridPagingInformation.SortExpression    = sortExpression;

                List <Contact> contactsList = await _contactManagementDataService.GetContacts(accountId, searchText, dataGridPagingInformation);

                foreach (Contact contact in contactsList)
                {
                    ContactDataTransformation contactDataTransformation = new ContactDataTransformation();
                    //contactDataTransformation.ContactId = contact.ContactId;
                    //contactDataTransformation.AddressLine1 = contact.AddressLine1;
                    //contactDataTransformation.AddressLine2 = contact.AddressLine2;
                    //contactDataTransformation.City = contact.City;
                    //contactDataTransformation.Region = contact.Region;
                    //contactDataTransformation.PostalCode = contact.PostalCode;
                    //contactDataTransformation.ContactName = contact.Name;
                    //contactDataTransformation.AccountId = contact.AccountId;
                    contactDataTransformation = _mapper.Map <ContactDataTransformation>(contact);
                    salesOrders.Add(contactDataTransformation);
                }

                returnResponse.Entity     = salesOrders;
                returnResponse.TotalRows  = dataGridPagingInformation.TotalRows;
                returnResponse.TotalPages = dataGridPagingInformation.TotalPages;

                returnResponse.ReturnStatus = true;
            }
            catch (Exception ex)
            {
                _contactManagementDataService.RollbackTransaction();
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
            }
            finally
            {
                _contactManagementDataService.CloseConnection();
            }

            return(returnResponse);
        }