Beispiel #1
0
        public async Task RemoveUser(User user)
        {
            try
            {
                var dialog = new QuestionDialog("Do you want to remove this user (" + user.LongName + ")?");
                dialog.ShowDialog();
                if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                {
                    using (var context = new NeoTrackerContext())
                    {
                        if (HeadOfDepartment != null && HeadOfDepartment.UserID == user.UserID)
                        {
                            HeadOfDepartment = null;
                            context.Entry(GetModel()).State = EntityState.Modified;
                            await context.SaveChangesAsync();
                        }
                        var data = await context.DepartmentUsers.FirstOrDefaultAsync(x => x.UserID == user.UserID && x.DepartmentID == DepartmentID);

                        if (data != null)
                        {
                            context.Entry(data).State = EntityState.Deleted;
                            await context.SaveChangesAsync();
                            await LoadUsers();
                        }
                    }
                }
                ;
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }
        public async Task Save()
        {
            try
            {
                using (var context = new NeoTrackerContext())
                {
                    var data = GetModel();
                    if (EventID == 0)
                    {
                        context.Events.Add(data);
                    }
                    else
                    {
                        context.Entry(data).State = EntityState.Modified;
                    }
                    await context.SaveChangesAsync();
                }
                await App.vm.Project.LoadEvents();

                EndEdit();
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }
        public async Task Delete()
        {
            try
            {
                var dialog = new QuestionDialog("Do you really want to delete this Event (" + Description + ")?");
                dialog.ShowDialog();
                if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                {
                    using (var context = new NeoTrackerContext())
                    {
                        //if (CanDelete)
                        //{
                        var data = GetModel();
                        context.Entry(data).State = EntityState.Deleted;
                        App.vm.Project.Events.Remove(this);
                        await context.SaveChangesAsync();

                        EndEdit();
                        //}
                    }
                }
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }
Beispiel #4
0
        public async Task RemoveDepartment(DepartmentViewModel department)
        {
            try
            {
                var dialog = new QuestionDialog("Do you want to remove this department (" + department.Name + ")?");
                dialog.ShowDialog();
                if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                {
                    using (var context = new NeoTrackerContext())
                    {
                        var data = await context.DepartmentUsers.FirstOrDefaultAsync(x => x.DepartmentID == department.DepartmentID && x.UserID == UserID);

                        if (data != null)
                        {
                            context.Entry(data).State = EntityState.Deleted;
                            await context.SaveChangesAsync();
                            await LoadDepartments();
                        }
                    }
                }
                ;
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }
Beispiel #5
0
 public async Task MassUpdateOperations(List <Operation> ops, DateTime?StartDate, DateTime?EndDate, bool?Completed)
 {
     if (ItemID != 0 && Operations.Any())
     {
         using (var context = new NeoTrackerContext())
         {
             foreach (var o in ops)
             {
                 if (EndDate.HasValue)
                 {
                     o.EndDate = EndDate.Value;
                 }
                 if (Completed.HasValue && Completed.Value)
                 {
                     o.IsCompleted = true;
                 }
                 if (StartDate.HasValue)
                 {
                     o.StartDate = StartDate.Value;
                 }
                 context.Entry(o).State = EntityState.Modified;
             }
             await context.SaveChangesAsync();
         }
     }
 }
        public async Task Delete()
        {
            try
            {
                var dialog = new QuestionDialog("Do you really want to delete this operation (" + Name + ")?");
                dialog.ShowDialog();
                if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                {
                    using (var context = new NeoTrackerContext())
                    {
                        var data = GetModel();
                        context.Entry(data).State = EntityState.Deleted;
                        App.vm.Item.Operations.Remove(this);

                        var changeLogs = App.vm.ChangeLog.Where(x => x.EntityName == "Operation" && x.PrimaryKeyValue == data.OperationID).ToList();
                        changeLogs.ForEach(x => context.Entry(x).State = EntityState.Deleted);

                        await context.SaveChangesAsync();

                        EndEdit();
                    }
                }
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }
Beispiel #7
0
        public async Task AddUsers()
        {
            using (var context = new NeoTrackerContext())
            {
                try
                {
                    var list = context.Users.Where(x => !context.DepartmentUsers.Any(y => y.DepartmentID == DepartmentID && y.UserID == x.UserID)).ToList().Select(x => new DropdownItem()
                    {
                        Value = x.UserID,
                        Text  = x.LongName
                    }).OrderBy(x => x.Text).ToList();

                    if (list.Any())
                    {
                        App.vm.SelectItemList = list;
                        var dialog = new SelectDialog("Select users");
                        dialog.ShowDialog();

                        if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                        {
                            var result = App.vm.SelectItemList.Where(x => x.IsSelected).ToList();

                            if (result.Any())
                            {
                                foreach (var item in result)
                                {
                                    context.DepartmentUsers.Add(new DepartmentUser()
                                    {
                                        DepartmentID = DepartmentID,
                                        UserID       = item.Value
                                    });
                                }
                                await context.SaveChangesAsync();
                                await LoadUsers();
                            }
                        }
                    }
                    else
                    {
                        App.vm.UserMsg = "No users to add!!!";
                    }
                }
                catch (Exception e)
                {
                    App.vm.UserMsg = e.Message.ToString();
                }
            }
        }
        public async Task Save()
        {
            try
            {
                using (var context = new NeoTrackerContext())
                {
                    var data = GetModel();

                    context.Entry(data).State = EntityState.Modified;
                    await context.SaveChangesAsync();
                }
                EndEdit();
                await App.vm.LoadProjects();
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }
        public async Task Create(OrderViewModel order)
        {
            try
            {
                Code          = order.Code;
                PurchaseOrder = order.Po;
                Client        = order.Client;

                IsActive = true;

                using (var IvcContext = new IVCLIVEDBEntities())
                    using (var context = new NeoTrackerContext())
                    {
                        var project    = GetModel();
                        var Operations = await context.DepartmentOperations.Where(x => x.IsActive).ToListAsync();

                        var statusID = await context.Statuses.OrderBy(s => s.SortOrder).ThenBy(s => s.Name).Where(s => s.IsActive).Select(s => s.StatusID).FirstAsync();

                        var Items = await IvcContext.Comm2.Where(x => x.No_Com == Code).Select(x => new Item()
                        {
                            Code      = x.Item,
                            Name      = x.Des,
                            DueDate   = x.Dateliv,
                            ProjectID = ProjectID,
                            IsActive  = true,
                            SortOrder = x.Ligneitm,
                            StatusID  = statusID,
                            SortKey   = x.Clef,
                        }).ToListAsync();

                        foreach (var item in Items)
                        {
                            item.Operations = new List <Operation>();
                            foreach (var o in Operations)
                            {
                                item.Operations.Add(new Operation()
                                {
                                    OperationTime = o.OperationTime,
                                    DepartmentID  = o.DepartmentID,
                                    IsActive      = true,
                                    Name          = o.Name,
                                    IsCompleted   = false,
                                    SortOrder     = o.SortOrder,
                                });
                            }
                        }
                        project.Items = Items;
                        context.Projects.Add(project);
                        await context.SaveChangesAsync();

                        ProjectID = project.ProjectID;
                        await LoadItems();
                    }
                EndEdit();
                Orders.Clear();
                await App.vm.LoadProjects();
            }
            catch (Exception e)
            {
                App.vm.UserMsg = e.Message.ToString();
            }
        }