Ejemplo n.º 1
0
        private async Task <bool> ValidateOwnerAsync(OwnerDataModel selectedDirtyOwner)
        {
            string url = string.Format("{0}/{1}?id={2}&ownerCode={3}&parentsOwnerCode={4}&ownersSystemCode={5}", RoutingConstants.OwnerRoute, RoutingFragmentConstants.ValidateCreationOrEditOfAnOwner, selectedDirtyOwner.IdOwner, selectedDirtyOwner.OwnerCode, selectedDirtyOwner.OwnerCodeOfParent, selectedDirtyOwner.SystemCode);
            bool   validationResult = false;

            try
            {
                BusyIndicator.BlockUI();
                RequestResponse <TMValidationResult> response = await requestManager.GetAsync <TMValidationResult>(url);

                if (response != null && response.IsError || response.Data == null)
                {
                    notificationManager.Alert(response.ErrorMessage, string.Empty, response.IsFatalError);
                }

                validationResult = response.Data.IsValid;
                if (!validationResult)
                {
                    notificationManager.Alert(response.Data.ValidationMessage);
                }
            }
            finally
            {
                BusyIndicator.UnblockUI();
            }

            return(validationResult);
        }
Ejemplo n.º 2
0
        private async Task <OwnerDataModel> GetOwnerAsync(Guid idOwner, bool isBusyIndicatorOn)
        {
            OwnerDataModel owner = new OwnerDataModel();

            try
            {
                if (!isBusyIndicatorOn)
                {
                    BusyIndicator.BlockUI();
                }

                string url      = string.Format("{0}/{1}?id={2}", RoutingConstants.OwnerRoute, RoutingFragmentConstants.GetOwnerWithParentOwnerCode, idOwner);
                var    response = await requestManager.GetAsync <OwnerModel>(url);

                if (response != null && response.IsError)
                {
                    notificationManager.Alert(response.ErrorMessage, response.IsFatalError);
                    await InitializeAsync(isBusyIndicatorOn);

                    owner = null;
                }
                else if (!response.IsError)
                {
                    owner = mappingManager.MapToOwnerDataModel(response.Data);
                }
            }
            finally
            {
                if (!isBusyIndicatorOn)
                {
                    BusyIndicator.UnblockUI();
                }
            }
            return(owner);
        }
Ejemplo n.º 3
0
        private async Task GetOwnerAndUpdateGridAsync(OwnerDataModel selectedDirtyOwner, bool isBusyIndicatorOn)
        {
            try
            {
                if (!isBusyIndicatorOn)
                {
                    BusyIndicator.BlockUI();
                }

                if (selectedDirtyOwner == null || selectedDirtyOwner.IdOwner == null)
                {
                    await InitializeAsync(true);

                    throw new ArgumentNullException();
                }

                OwnerDataModel resultOwner = await GetOwnerAsync(selectedDirtyOwner.IdOwner, isBusyIndicatorOn);

                if (resultOwner != null)
                {
                    int indexOfOwner = Owners.IndexOf(selectedDirtyOwner);
                    SelectedOwner.IsDirty = false;
                    Owners.RemoveAt(indexOfOwner);
                    Owners.Insert(indexOfOwner, resultOwner);
                }
            }
            finally
            {
                if (!isBusyIndicatorOn)
                {
                    BusyIndicator.UnblockUI();
                }
            }
        }
Ejemplo n.º 4
0
        private void CancelButtonClicked(object sender, EventArgs e)
        {
            var result = e as MoveToPreviousSelectionArgs;

            shouldMoveToPrevious   = result.ShouldMoveToPrevious;
            previousDataOwnerModel = result.SelectedOwnerDataModel;
        }
Ejemplo n.º 5
0
 private async Task RestoreGridAsync(OwnerDataModel selectedDirtyOwner)
 {
     if (selectedDirtyOwner != null && selectedDirtyOwner.IsNew)
     {
         selectedDirtyOwner.IsDirty = false;
         Owners.Remove(selectedDirtyOwner);
         SelectedOwner = Owners.FirstOrDefault();
     }
     else
     {
         await GetOwnerAndUpdateGridAsync(selectedDirtyOwner, false);
     }
 }
Ejemplo n.º 6
0
        private async Task SaveChangesAsync(OwnerDataModel selectedDirtyOwner, bool updateGrid)
        {
            try
            {
                BusyIndicator.BlockUI();
                if (selectedDirtyOwner == null)
                {
                    await InitializeAsync(true);

                    throw new ArgumentNullException();
                }

                OwnerModel      owner    = mappingManager.MapToOwnerModel(selectedDirtyOwner);
                RequestResponse response = new RequestResponse();
                if (selectedDirtyOwner.IsNew)
                {
                    response = await requestManager.PostAsync <OwnerModel>(RoutingConstants.OwnerRoute, owner);

                    updateGrid = false;
                }
                else
                {
                    response = await requestManager.PatchAsync(RoutingConstants.OwnerRoute, owner);
                }

                if (response != null && response.IsError)
                {
                    notificationManager.Alert(response.ErrorMessage, response.IsFatalError);
                    await InitializeAsync(true);
                }
                else if (updateGrid)
                {
                    await GetOwnerAndUpdateGridAsync(selectedDirtyOwner, true);
                }
                else if (!updateGrid)
                {
                    selectedDirtyOwner = mappingManager.MapToOwnerDataModel((response as RequestResponse <OwnerModel>).Data);
                    Owners.RemoveAt(0);
                    Owners.Insert(0, selectedDirtyOwner);
                    ScrollToNewOwner(this, new SelectAndMoveToNewItemInGridArgs()
                    {
                        NewItem = selectedDirtyOwner
                    });
                }
            }
            finally
            {
                BusyIndicator.UnblockUI();
            }
        }
Ejemplo n.º 7
0
        public void BtnCreate()
        {
            OwnerDataModel newOwner = new OwnerDataModel()
            {
                SystemCode = KeyConstants.KeySystemCodeBV,
                IsDirty    = true,
                IsNew      = true
            };

            CleanFilter(this, new CleanFilterEventArgs()
            {
                ScrollToFirst = true
            });
            Owners.Insert(0, newOwner);
            SelectedOwner = newOwner;
        }
Ejemplo n.º 8
0
        public void CreateShareOwnership(string stockId, [FromBody] Guid userId, int sharesAmount)
        {
            var dbFactory = new OrmLiteConnectionFactory(
                ConnectionString,
                SqlServerDialect.Provider);

            using (var db = dbFactory.Open())
            {
                db.CreateTableIfNotExists <ShareOwnerDataModel>();
                db.CreateTableIfNotExists <StockDataModel>();
                db.CreateTableIfNotExists <OwnerDataModel>();

                var user = db.Single <OwnerDataModel>(x => x.ShareHolderId == userId);

                var stock = db.Single <StockDataModel>(x => x.StockId == stockId);

                if (user == null)
                {
                    user = new OwnerDataModel()
                    {
                        ShareHolderId = userId
                    };
                    db.Insert(user);
                }

                if (stock == null)
                {
                    stock = new StockDataModel()
                    {
                        StockId    = stockId,
                        SharePrice = 5
                    };

                    db.Insert(stock);
                }

                db.Insert(new ShareOwnerDataModel()
                {
                    Stock        = stock,
                    SharesAmount = sharesAmount,
                    ShareOwner   = user
                });
            }
        }
Ejemplo n.º 9
0
        public async void ConfirmChangesAsync(OwnerDataModel selectedDirtyOwner, bool updateGrid, bool shouldMoveToPrevious)
        {
            bool confirm = false;
            bool cancel  = false;

            System.Action DialogYesBtnClicked = () =>
            {
                confirm = true;
            };

            System.Action DialogCancelBtnClicked = () =>
            {
                cancel = true;
            };

            dynamic settings = new ExpandoObject();

            settings.Owner = GetView();
            notificationManager.ShowThreeButtonConfirmation(settings, Resources.SaveTitle, Resources.SaveTemplateChangesConfirmation, DialogYesBtnClicked, null, DialogCancelBtnClicked);
            bool isValid = false;

            if (confirm && selectedDirtyOwner != null && selectedDirtyOwner.IsValid)
            {
                isValid = await ValidateOwnerAsync(selectedDirtyOwner);
            }

            if (confirm && isValid)
            {
                await SaveChangesAsync(selectedDirtyOwner, updateGrid);
            }
            else if (cancel)
            {
                CancelButtonClicked(this, new MoveToPreviousSelectionArgs()
                {
                    ShouldMoveToPrevious = !shouldMoveToPrevious, SelectedOwnerDataModel = selectedDirtyOwner
                });
            }
            else
            {
                await RestoreGridAsync(selectedDirtyOwner);
            }
        }
Ejemplo n.º 10
0
        private AutomobileDataModel MakeModelFromToken(AutomobileSaveToken token)
        {
            OwnerDataModel      owner  = null;
            AutomobileDataModel result = new AutomobileDataModel();
            ColorDataModel      color  = null;
            EngineDataModel     engine = null;


            owner  = context.Owners.FirstOrDefault(o => o.TelephoneNumber == token.OwnerTelephoneNumber);
            color  = context.Colors.FirstOrDefault(c => c.Id == token.ColorId);
            engine = context.Engines.FirstOrDefault(e => e.Id == token.EngineID);


            if (owner == null)
            {
                owner = new OwnerDataModel()
                {
                    Name            = token.OwnerName,
                    TelephoneNumber = token.OwnerTelephoneNumber,
                };
            }

            result.DRN          = token.DRN;
            result.ChassiNumber = token.ChassiNumber;
            result.Color        = color;
            result.ColorId      = color.Id;
            result.Description  = token.Description;
            result.Engine       = engine;
            result.EngineId     = engine.Id;

            result.Owner   = owner;
            result.OwnerId = owner.Id;
            result.Year    = token.Year;

            if (!owner.Automobiles.Contains(result))
            {
                owner.Automobiles.Add(result);
            }

            return(result);
        }