Example #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="entity"></param>
 public override void SetModel(dynamic entity)
 {
     try
     {
         ProcessingAtlas data = (ProcessingAtlas)entity;
         BindingFromModel(data, this);
     }
     catch (Exception ex)
     {
         setErrortoModel(this, ex);
     }
 }
Example #2
0
        public override void Query()
        {
            if (controller == null)
            {
                return;
            }

            if (Id != Guid.Empty)
            {
                var result = controller.Query(p => p.Id == Id);

                if (!result.HasError)
                {
                    ProjectContract data = result.Result.Single();
                    BindingFromModel(data, this);

                    if (data.CreateUser != null)
                    {
                        CreateUser = data.CreateUser.UserName;
                    }



                    if (data.PromissoryNoteManagement.Any())
                    {
                        PromissoryNoteManagement.Clear();
                        foreach (var row in data.PromissoryNoteManagement)
                        {
                            PromissoryNoteManagementViewModel model = new PromissoryNoteManagementViewModel();
                            model.DoEvents();
                            model.SetModel(row);
                            PromissoryNoteManagement.Add(model);
                        }
                    }



                    if (data.ProcessingAtlas.Any())
                    {
                        ProcessingAtlas.Clear();
                        foreach (var row in data.ProcessingAtlas.OrderBy(o => o.Order).ToList())
                        {
                            ProcessingAtlasViewModel model = new ProcessingAtlasViewModel();
                            model.DoEvents();
                            model.SetModel(row);
                            ProcessingAtlas.Add(model);
                        }
                    }
                }
            }
        }
Example #3
0
        public override void SaveModel()
        {
            ProjectContract data = new ProjectContract();

            CopyToModel(data, this);

            if (data.CreateUserId == Guid.Empty)
            {
                data.CreateUserId = controller.GetCurrentLoginUser().Result.UserId;
            }



            if (PromissoryNoteManagement.Any())
            {
                foreach (PromissoryNoteManagementViewModel model in PromissoryNoteManagement)
                {
                    PromissoryNoteManagement entity = new PromissoryNoteManagement();
                    CopyToModel(entity, model);
                    entity.ProjectContractId = data.Id;
                    data.PromissoryNoteManagement.Add(entity);
                }
            }



            if (ProcessingAtlas.Any())
            {
                foreach (ProcessingAtlasViewModel model in ProcessingAtlas)
                {
                    ProcessingAtlas entity = new ProcessingAtlas();
                    CopyToModel(entity, model);
                    entity.ProjectContractId = data.Id;
                    data.ProcessingAtlas.Add(entity);
                }
            }

            var result = controller.CreateOrUpdate(data);

            if (result.HasError)
            {
                Errors   = result.Errors;
                HasError = result.HasError;
            }

            Refresh();
        }
Example #4
0
        public override ExecuteResultEntity <ProjectContract> Update(ProjectContract fromModel, bool isLastRecord = true)
        {
            try
            {
                var repo = RepositoryHelper.GetProjectContractRepository();
                database = repo.UnitOfWork;

                var original = (from q in repo.All()
                                where q.Id == fromModel.Id
                                select q).Single();

                if (original != null)
                {
                    CheckAndUpdateValue(fromModel, original);



                    var toDel2    = original.ProcessingAtlas.Select(s => s.Id).Except(fromModel.ProcessingAtlas.Select(s => s.Id)).ToList();
                    var toAdd2    = fromModel.ProcessingAtlas.Select(s => s.Id).Except(original.ProcessingAtlas.Select(s => s.Id)).ToList();
                    var samerows2 = original.ProcessingAtlas.Select(s => s.Id).Intersect(fromModel.ProcessingAtlas.Select(s => s.Id)).ToList();

                    Stack <ProcessingAtlas> RemoveStack2 = new Stack <ProcessingAtlas>();
                    Stack <ProcessingAtlas> AddStack2    = new Stack <ProcessingAtlas>();

                    foreach (var delitem in toDel2)
                    {
                        RemoveStack2.Push(original.ProcessingAtlas.Where(w => w.Id == delitem).Single());
                    }

                    foreach (var additem in toAdd2)
                    {
                        AddStack2.Push(fromModel.ProcessingAtlas.Where(w => w.Id == additem).Single());
                    }

                    while (RemoveStack2.Count > 0)
                    {
                        original.ProcessingAtlas.Remove(RemoveStack2.Pop());
                    }

                    while (AddStack2.Count > 0)
                    {
                        original.ProcessingAtlas.Add(AddStack2.Pop());
                    }

                    foreach (var sameitem in samerows2)
                    {
                        ProcessingAtlas Source = fromModel.ProcessingAtlas.Where(w => w.Id == sameitem).Single();
                        ProcessingAtlas Target = original.ProcessingAtlas.Where(w => w.Id == sameitem).Single();
                        CheckAndUpdateValue(Source, Target);
                    }

                    repo.UnitOfWork.Commit();
                }

                fromModel = repo.Get(original.Id);

                return(ExecuteResultEntity <ProjectContract> .CreateResultEntity(fromModel));
            }
            catch (Exception ex)
            {
                return(ExecuteResultEntity <ProjectContract> .CreateErrorResultEntity(ex));
            }
        }