コード例 #1
0
        public FamilyMemberResponse Create(FamilyMemberViewModel FamilyMember)
        {
            FamilyMemberResponse response = new FamilyMemberResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();

                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, FamilyMember);
                    insertCommand.ExecuteNonQuery();
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    return(response);
                }
                db.Close();

                response.Success = true;
                return(response);
            }
        }
コード例 #2
0
        private static void OnCurrentFamilyMemberPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
        {
            FamilyMemberPopup     popup        = source as FamilyMemberPopup;
            FamilyMemberViewModel FamilyMember = (FamilyMemberViewModel)e.NewValue;

            popup.txtFamilyMember.Text = FamilyMember != null ? FamilyMember.Code + " (" + FamilyMember.Name + ")" : "";
        }
コード例 #3
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            FamilyMemberViewModel FamilyMember = new FamilyMemberViewModel();

            FamilyMember.Identifier = Guid.NewGuid();

            FamilyMember_List_AddEdit addEditForm = new FamilyMember_List_AddEdit(FamilyMember, true);

            addEditForm.FamilyMemberCreatedUpdated += new FamilyMemberHandler(SyncData);
            FlyoutHelper.OpenFlyout(this, ((string)Application.Current.FindResource("Podaci_o_clanovima_porodice")), 95, addEditForm);
        }
        public FamilyMember_List_AddEdit(FamilyMemberViewModel familyMemberViewModel, bool isCreateProcess, bool isPopup = false)
        {
            // Get required services
            familyMemberService = DependencyResolver.Kernel.Get <IFamilyMemberService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentFamilyMember = familyMemberViewModel;
            IsCreateProcess     = isCreateProcess;
            IsPopup             = isPopup;
        }
コード例 #5
0
        private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, FamilyMemberViewModel FamilyMember)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", FamilyMember.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", FamilyMember.Identifier);
            insertCommand.Parameters.AddWithValue("@Code", ((object)FamilyMember.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Name", ((object)FamilyMember.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@IsSynced", FamilyMember.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)FamilyMember.UpdatedAt) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CreatedById", MainWindow.CurrentUser.Id);
            insertCommand.Parameters.AddWithValue("@CreatedByName", MainWindow.CurrentUser.FirstName + " " + MainWindow.CurrentUser.LastName);
            insertCommand.Parameters.AddWithValue("@CompanyId", MainWindow.CurrentCompany.Id);
            insertCommand.Parameters.AddWithValue("@CompanyName", MainWindow.CurrentCompany.CompanyName);

            return(insertCommand);
        }
コード例 #6
0
        private FamilyMemberViewModel Read(SqliteDataReader query)
        {
            int counter = 0;
            FamilyMemberViewModel dbEntry = new FamilyMemberViewModel();

            dbEntry.Id         = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.Identifier = SQLiteHelper.GetGuid(query, ref counter);
            dbEntry.Code       = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Name       = SQLiteHelper.GetString(query, ref counter);
            dbEntry.IsSynced   = SQLiteHelper.GetBoolean(query, ref counter);
            dbEntry.UpdatedAt  = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.CreatedBy  = SQLiteHelper.GetCreatedBy(query, ref counter);
            dbEntry.Company    = SQLiteHelper.GetCompany(query, ref counter);

            return(dbEntry);
        }
コード例 #7
0
        public FamilyMemberListResponse GetFamilyMembersForPopup(int companyId, string filterString)
        {
            FamilyMemberListResponse     response      = new FamilyMemberListResponse();
            List <FamilyMemberViewModel> familyMembers = new List <FamilyMemberViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM FamilyMembers " +
                        "WHERE ((@Code IS NULL OR @Code = '' OR Code LIKE @Code) " +
                        "OR (@Name IS NULL OR @Name = '' OR Name LIKE @Name)) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC " +
                        "LIMIT @ItemsPerPage;", db);

                    selectCommand.Parameters.AddWithValue("@Code", ((object)filterString) != null ? "%" + filterString + "%" : "");
                    selectCommand.Parameters.AddWithValue("@Name", ((object)filterString) != null ? "%" + filterString + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", ((object)filterString) != null ? companyId : 0);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", 100);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        FamilyMemberViewModel dbEntry = Read(query);
                        familyMembers.Add(dbEntry);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.FamilyMembers  = new List <FamilyMemberViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success       = true;
            response.FamilyMembers = familyMembers;
            return(response);
        }
コード例 #8
0
        public FamilyMemberResponse Create(FamilyMemberViewModel FamilyMember)
        {
            FamilyMemberResponse response = new FamilyMemberResponse();

            try
            {
                response = WpfApiHandler.SendToApi <FamilyMemberViewModel, FamilyMemberResponse>(FamilyMember, "Create");
            }
            catch (Exception ex)
            {
                response.FamilyMember = new FamilyMemberViewModel();
                response.Success      = false;
                response.Message      = ex.Message;
            }

            return(response);
        }
コード例 #9
0
        public static FamilyMemberViewModel ConvertToFamilyMemberViewModelLite(this FamilyMember familyMember)
        {
            FamilyMemberViewModel familyMemberViewModel = new FamilyMemberViewModel()
            {
                Id         = familyMember.Id,
                Identifier = familyMember.Identifier,

                Code = familyMember.Code,
                Name = familyMember.Name,

                IsActive = familyMember.Active,

                CreatedAt = familyMember.CreatedAt,
                UpdatedAt = familyMember.UpdatedAt
            };

            return(familyMemberViewModel);
        }
コード例 #10
0
        public FamilyMemberResponse Delete(Guid identifier)
        {
            FamilyMemberResponse response = new FamilyMemberResponse();

            try
            {
                FamilyMemberViewModel re = new FamilyMemberViewModel();
                re.Identifier = identifier;
                response      = WpfApiHandler.SendToApi <FamilyMemberViewModel, FamilyMemberResponse>(re, "Delete");
            }
            catch (Exception ex)
            {
                response.FamilyMember = new FamilyMemberViewModel();
                response.Success      = false;
                response.Message      = ex.Message;
            }

            return(response);
        }
コード例 #11
0
        public static FamilyMember ConvertToFamilyMember(this FamilyMemberViewModel familyMemberViewModel)
        {
            FamilyMember familyMember = new FamilyMember()
            {
                Id         = familyMemberViewModel.Id,
                Identifier = familyMemberViewModel.Identifier,

                Code = familyMemberViewModel.Code,
                Name = familyMemberViewModel.Name,

                CreatedById = familyMemberViewModel.CreatedBy?.Id ?? null,
                CompanyId   = familyMemberViewModel.Company?.Id ?? null,

                CreatedAt = familyMemberViewModel.CreatedAt,
                UpdatedAt = familyMemberViewModel.UpdatedAt
            };

            return(familyMember);
        }
コード例 #12
0
        public JsonResult Delete([FromBody] FamilyMemberViewModel remedy)
        {
            FamilyMemberResponse response = new FamilyMemberResponse();

            try
            {
                response = this.familyMemberService.Delete(remedy.Identifier);
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
                Console.WriteLine(ex.Message);
            }

            return(Json(response, new Newtonsoft.Json.JsonSerializerSettings()
            {
                Formatting = Newtonsoft.Json.Formatting.Indented
            }));
        }
コード例 #13
0
        public FamilyMemberResponse Create(FamilyMemberViewModel familyMember)
        {
            FamilyMemberResponse response = new FamilyMemberResponse();

            try
            {
                FamilyMember addedFamilyMember = unitOfWork.GetFamilyMemberRepository().Create(familyMember.ConvertToFamilyMember());
                unitOfWork.Save();

                response.FamilyMember = addedFamilyMember.ConvertToFamilyMemberViewModel();
                response.Success      = true;
            }
            catch (Exception ex)
            {
                response.FamilyMember = new FamilyMemberViewModel();
                response.Success      = false;
                response.Message      = ex.Message;
            }

            return(response);
        }
コード例 #14
0
        public static FamilyMemberViewModel ConvertToFamilyMemberViewModel(this FamilyMember familyMember)
        {
            FamilyMemberViewModel FamilyMemberViewModel = new FamilyMemberViewModel()
            {
                Id         = familyMember.Id,
                Identifier = familyMember.Identifier,

                Code = familyMember.Code,
                Name = familyMember.Name,

                IsActive = familyMember.Active,

                CreatedBy = familyMember.CreatedBy?.ConvertToUserViewModelLite(),
                Company   = familyMember.Company?.ConvertToCompanyViewModelLite(),

                UpdatedAt = familyMember.UpdatedAt,
                CreatedAt = familyMember.CreatedAt
            };

            return(FamilyMemberViewModel);
        }
コード例 #15
0
        public FamilyMemberResponse GetFamilyMember(Guid identifier)
        {
            FamilyMemberResponse  response     = new FamilyMemberResponse();
            FamilyMemberViewModel FamilyMember = new FamilyMemberViewModel();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM FamilyMembers " +
                        "WHERE Identifier = @Identifier;", db);
                    selectCommand.Parameters.AddWithValue("@Identifier", identifier);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        FamilyMemberViewModel dbEntry = Read(query);
                        FamilyMember = dbEntry;
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.FamilyMember   = new FamilyMemberViewModel();
                    return(response);
                }
                db.Close();
            }
            response.Success      = true;
            response.FamilyMember = FamilyMember;
            return(response);
        }
コード例 #16
0
        public async Task <IActionResult> RequestUpdateFamilyMember(int id, [FromBody] FamilyMemberViewModel familyMember)
        {
            if (ModelState.IsValid)
            {
                if (familyMember == null)
                {
                    return(BadRequest($"{nameof(familyMember)} cannot be null"));
                }

                if (id != familyMember.Id)
                {
                    return(BadRequest("Conflicting family member id in parameter and model data"));
                }
            }

            FamilyMemberUpdate familyMemberUpdate = Mapper.Map <FamilyMemberViewModel, FamilyMemberUpdate>(familyMember);

            familyMemberUpdate.Status = UpdateStatus.Pending;
            familyMemberUpdate.Id     = 0;
            familyMemberUpdate.RefId  = id;

            var newId = await this._unitOfWork.FamilyMemberUpdates.AddFamilyMemberUpdateAsync(familyMemberUpdate);

            var             userId  = Utilities.GetUserId(this.User);
            ApplicationUser appUser = await this._accountManager.GetUserByIdAsync(userId);

            var recipients = new EmailAddress[] {
                new EmailAddress {
                    Name  = EmailSender.Configuration.AdminName,
                    Email = EmailSender.Configuration.AdminEmail
                }
            };

            var webRootPath = $"{this.Request.Scheme}://{this.Request.Host}/api/FamilyMember/updates/";

            //TODO: Get Parnet, Controy, and Horsoscope
            var requestParam = new Dictionary <string, string>
            {
                { "{requester.Name}", appUser.FirstName + " " + appUser.LastName },
                { "{requester.Email}", appUser.Email },
                { "{requester.PhoneNumber}", appUser.PhoneNumber },
                { "{familyMemberUpdate.FamilyId}", familyMemberUpdate.FamilyId },
                { "{familyMemberUpdate.BirthYear}", familyMemberUpdate.BirthYear != null?familyMemberUpdate.BirthYear.Value.ToString() : "N/A" },
                { "{familyMemberUpdate.City}", familyMemberUpdate.City != null ? familyMemberUpdate.City : "" },
                { "{familyMemberUpdate.Country}", familyMemberUpdate.CountryId != null?familyMemberUpdate.CountryId.ToString() : "N/A" },
                { "{familyMemberUpdate.DeathYear}", familyMemberUpdate.DeathYear != null?familyMemberUpdate.DeathYear.ToString() : "N/A" },
                { "{familyMemberUpdate.DisplayEmail}", familyMemberUpdate.DisplayEmail != null ? familyMemberUpdate.DisplayEmail : "N/A" },
                { "{familyMemberUpdate.DisplayPhone}", familyMemberUpdate.DisplayPhone != null ? familyMemberUpdate.DisplayPhone : "N/A" },
                { "{familyMemberUpdate.DisplayPhoneType}", familyMemberUpdate.DisplayPhoneType != null?familyMemberUpdate.DisplayPhoneType.ToString() : "N/A" },
                { "{familyMemberUpdate.Facebook}", familyMemberUpdate.Facebook != null ? familyMemberUpdate.Facebook : "N/A" },
                { "{familyMemberUpdate.FamilyName_En}", familyMemberUpdate.FamilyName_En != null ? familyMemberUpdate.FamilyName_En : "N/A" },
                { "{familyMemberUpdate.FirstName_Ar}", familyMemberUpdate.FirstName_Ar != null ? familyMemberUpdate.FirstName_Ar : "N/A" },
                { "{familyMemberUpdate.FirstName_En}", familyMemberUpdate.FirstName_En != null ? familyMemberUpdate.FirstName_En : "N/A" },
                { "{familyMemberUpdate.Gender}", familyMemberUpdate.Gender.ToString() },
                { "{familyMemberUpdate.Generation}", familyMemberUpdate.Generation.ToString() },
                { "{familyMemberUpdate.Horoscope}", familyMemberUpdate.HoroscopeId != null?familyMemberUpdate.HoroscopeId.ToString() : "N/A" },
                { "{familyMemberUpdate.LinkedIn}", familyMemberUpdate.LinkedIn != null ? familyMemberUpdate.LinkedIn : "N/A" },
                { "{familyMemberUpdate.MaritalStatus}", familyMemberUpdate.MaritalStatus != null?familyMemberUpdate.MaritalStatus.ToString() : "N/A" },
                { "{familyMemberUpdate.MotherFirstName_Ar}", familyMemberUpdate.MotherFirstName_Ar != null ? familyMemberUpdate.MotherFirstName_Ar : "N/A" },
                { "{familyMemberUpdate.MotherFirstName_En}", familyMemberUpdate.MotherFirstName_En != null ? familyMemberUpdate.MotherFirstName_En : "N/A" },
                { "{familyMemberUpdate.MotherLastName_Ar}", familyMemberUpdate.MotherLastName_Ar != null ? familyMemberUpdate.MotherLastName_Ar : "N/A" },
                { "{familyMemberUpdate.MotherLastName_En}", familyMemberUpdate.MotherLastName_En != null ? familyMemberUpdate.MotherLastName_En : "N/A" },
                { "{familyMemberUpdate.Parent}", familyMemberUpdate.ParentId != null?familyMemberUpdate.ParentId.ToString() : "N/A" },
                { "{familyMemberUpdate.Province}", familyMemberUpdate.Province != null ? familyMemberUpdate.Province : "N/A" },
                { "{familyMemberUpdate.Sequence}", familyMemberUpdate.Sequence.ToString() },
                { "{familyMemberUpdate.SpouseFirstName_Ar}", familyMemberUpdate.SpouseFirstName_Ar != null ? familyMemberUpdate.SpouseFirstName_Ar : "N/A" },
                { "{familyMemberUpdate.SpouseFirstName_En}", familyMemberUpdate.SpouseFirstName_En != null ? familyMemberUpdate.SpouseFirstName_En : "N/A" },
                { "{familyMemberUpdate.SpouseLastName_Ar}", familyMemberUpdate.SpouseLastName_Ar != null ? familyMemberUpdate.SpouseLastName_Ar : "N/A" },
                { "{familyMemberUpdate.SpouseLastName_En}", familyMemberUpdate.SpouseLastName_En != null ? familyMemberUpdate.SpouseLastName_En : "N/A" },
                { "{familyMemberUpdate.PrvSpouseFirstName_Ar}", familyMemberUpdate.PrvSpouseFirstName_Ar != null ? familyMemberUpdate.PrvSpouseFirstName_Ar : "N/A" },
                { "{familyMemberUpdate.PrvSpouseFirstName_En}", familyMemberUpdate.PrvSpouseFirstName_En != null ? familyMemberUpdate.PrvSpouseFirstName_En : "N/A" },
                { "{familyMemberUpdate.PrvSpouseLastName_Ar}", familyMemberUpdate.PrvSpouseLastName_Ar != null ? familyMemberUpdate.PrvSpouseLastName_Ar : "N/A" },
                { "{familyMemberUpdate.PrvSpouseLastName_En}", familyMemberUpdate.PrvSpouseLastName_En != null ? familyMemberUpdate.PrvSpouseLastName_En : "N/A" },
                { "{familyMemberUpdate.PrvPrvSpouseFirstName_Ar}", familyMemberUpdate.PrvPrvSpouseFirstName_Ar != null ? familyMemberUpdate.PrvPrvSpouseFirstName_Ar : "N/A" },
                { "{familyMemberUpdate.PrvPrvSpouseFirstName_En}", familyMemberUpdate.PrvPrvSpouseFirstName_En != null ? familyMemberUpdate.PrvPrvSpouseFirstName_En : "N/A" },
                { "{familyMemberUpdate.PrvPrvSpouseLastName_Ar}", familyMemberUpdate.PrvPrvSpouseLastName_Ar != null ? familyMemberUpdate.PrvPrvSpouseLastName_Ar : "N/A" },
                { "{familyMemberUpdate.PrvPrvSpouseLastName_En}", familyMemberUpdate.PrvPrvSpouseLastName_En != null ? familyMemberUpdate.PrvPrvSpouseLastName_En : "N/A" },
                { "{familyMemberUpdate.FemChildrenList_Ar}", familyMemberUpdate.FemChildrenList_Ar != null ? familyMemberUpdate.FemChildrenList_Ar : "N/A" },
                { "{familyMemberUpdate.FemChildrenList_En}", familyMemberUpdate.FemChildrenList_En != null ? familyMemberUpdate.FemChildrenList_En : "N/A" },
                { "{familyMemberUpdate.PassedAway}", familyMemberUpdate.PassedAway ? "Yes" : "No" },
                { "{familyMemberUpdate.SpousePassedAway}", familyMemberUpdate.SpousePassedAway ? "Yes" : "No" },
                { "{familyMemberUpdate.Website}", familyMemberUpdate.Website != null ? familyMemberUpdate.Website : "N/A" },
                { "{Url.Approve}", $"{webRootPath}approve/{newId}" },
                { "{Url.Reject}", $"{webRootPath}reject/{newId}" },
            };

            var response = await EmailSender.SendEmailAsync(
                recipients,
                subject : "Adam.info Request Family Member Update",
                content : EmailTemplates.GetFamilyMemberUpdatedEmail(requestParam, "en"),
                isHtml : true,
                addBccs : false);

            if (!response.Item1)
            {
                this.logger.LogWarning(new EventId(1, "Email Error"), null, $"Failed to send Email Error: {response.Item2}");
            }

            return(NoContent());
        }
コード例 #17
0
 private void ScreenFamilyMember()
 {
     FamilyMemberViewModel.ScreenFamilyMember(FamilyMemberTemplate);
 }
コード例 #18
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (String.IsNullOrEmpty(CurrentFamilyMember.Name))
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_poljeDvotačka_Naziv"));
                return;
            }

            #endregion

            Thread th = new Thread(() =>
            {
                SaveButtonContent = ((string)Application.Current.FindResource("Čuvanje_u_tokuTriTacke"));
                SaveButtonEnabled = false;

                CurrentFamilyMember.IsSynced = false;
                CurrentFamilyMember.Company  = new CompanyViewModel()
                {
                    Id = MainWindow.CurrentCompanyId
                };
                CurrentFamilyMember.CreatedBy = new UserViewModel()
                {
                    Id = MainWindow.CurrentUserId
                };

                FamilyMemberResponse response = familyMemberService.Create(CurrentFamilyMember);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik"));
                    SaveButtonContent       = ((string)Application.Current.FindResource("Sačuvaj"));
                    SaveButtonEnabled       = true;
                }

                if (response.Success)
                {
                    MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Podaci_su_uspešno_sačuvaniUzvičnik"));
                    SaveButtonContent         = ((string)Application.Current.FindResource("Sačuvaj"));
                    SaveButtonEnabled         = true;

                    FamilyMemberCreatedUpdated();

                    if (IsCreateProcess)
                    {
                        CurrentFamilyMember            = new FamilyMemberViewModel();
                        CurrentFamilyMember.Identifier = Guid.NewGuid();

                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            txtName.Focus();
                        })
                            );
                    }
                    else
                    {
                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            if (IsPopup)
                            {
                                FlyoutHelper.CloseFlyoutPopup(this);
                            }
                            else
                            {
                                FlyoutHelper.CloseFlyout(this);
                            }
                        })
                            );
                    }
                }
            });
            th.IsBackground = true;
            th.Start();
        }
コード例 #19
0
ファイル: FamilyController.cs プロジェクト: vijaydairyf/bk
        public IHttpActionResult Get(int familyId)
        {
            using (bkContext context = new bkContext())
            {
                Family f = context.Families.Where(x => x.FamilyID == familyId).FirstOrDefault();
                if (f == null)
                {
                    return(BadRequest("Family record cannot be loaded."));
                }

                List <bk_GetFamilyMembers_Result> members = context.bk_GetFamilyMembers(familyId).ToList();

                FamilyViewModel fvm = new FamilyViewModel();
                fvm.FamilyNative   = f.FamilyNative;
                fvm.Address1       = f.Address1;
                fvm.Address2       = f.Address2;
                fvm.CategoryID     = f.CategoryID;
                fvm.City           = f.City;
                fvm.District       = f.District;
                fvm.Country        = f.Country;
                fvm.FamilyID       = f.FamilyID;
                fvm.NukhID         = f.NukhID;
                fvm.PostalCode     = f.PostalCode;
                fvm.State          = f.State;
                fvm.HeadOfFamilyID = f.HeadOfFamilyID;
                fvm.CanEdit        = CanEditFamily(f.FamilyID);

                Member hofMember = f.Member;
                if (hofMember != null)
                {
                    fvm.HeadOfFirstName = hofMember.FirstName;
                    fvm.HeadOfLastName  = hofMember.LastName;
                }

                foreach (var item in members)
                {
                    var tmp = new FamilyMemberViewModel();

                    tmp.DOB               = item.DOB;
                    tmp.MaritalStatusId   = item.MaritalStatusID;
                    tmp.MemberID          = item.MemberID;
                    tmp.Name              = $"{item.FirstName} {item.LastName}";
                    tmp.CanEdit           = CanEditMember(f.FamilyMemberAssociations.ToList(), item.MemberID);
                    tmp.MatrimonialExists = item.MatrimonialExists.Value;
                    tmp.Gender            = item.Gender;
                    tmp.Alive             = item.Alive;
                    tmp.DOD               = item.DOD;
                    tmp.PaternalFamilyId  = item.PaternalFamilyId;
                    if (tmp.PaternalFamilyId.HasValue)
                    {
                        tmp.PaternalFamilyName = string.Format("{0}, {1}", item.PaternalFamilyName, item.PaternalFamilyAddress);
                    }

                    tmp.MaternalFamilyId = item.MaternalFamilyId;
                    if (tmp.MaternalFamilyId.HasValue)
                    {
                        tmp.MaternalFamilyName = string.Format("{0}, {1}", item.MaternalFamilyName, item.MaternalFamilyAddress);
                    }

                    if (!string.IsNullOrEmpty(item.rFirstName))
                    {
                        tmp.RelatedToName = $"{item.rFirstName} {item.rLastName}";
                    }

                    tmp.RelationTypeId  = item.RelationTypeId;
                    tmp.DefaultFamilyId = item.DefaultFamilyId;

                    fvm.Members.Add(tmp);
                }

                fvm.Members = fvm.Members.OrderByDescending(x => x.Age).ToList();

                List <bk_PendingApprovals_Result> approvals = context.bk_PendingApprovals(LoggedInMemberId).ToList();
                foreach (var item in approvals)
                {
                    var tmp = new PendingApprovalViewModel();

                    tmp.AddedByFirstName = item.AddedByFirstName;
                    tmp.AddedById        = item.AddedById;
                    tmp.AddedByLastName  = item.AddedByLastName;
                    tmp.AddedOn          = item.AddedOn;
                    tmp.AddedToFirstName = item.AddedToFirstName;
                    tmp.AddedToId        = item.AddedToId;
                    tmp.AddedToLastName  = item.AddedToLastName;
                    tmp.FamilyId         = item.FamilyId;

                    fvm.PendingApprovals.Add(tmp);
                }

                return(Ok(fvm));
            }
        }
コード例 #20
0
        public FamilyMemberListResponse GetFamilyMembersByPage(int companyId, FamilyMemberViewModel familyMemberSearchObject, int currentPage = 1, int itemsPerPage = 50)
        {
            FamilyMemberListResponse     response = new FamilyMemberListResponse();
            List <FamilyMemberViewModel> Remedies = new List <FamilyMemberViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM FamilyMembers " +
                        "WHERE (@Code IS NULL OR @Code = '' OR Code LIKE @Code) " +
                        "AND (@Name IS NULL OR @Name = '' OR Name LIKE @Name) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC " +
                        "LIMIT @ItemsPerPage OFFSET @Offset;", db);

                    selectCommand.Parameters.AddWithValue("@Code", ((object)familyMemberSearchObject.Search_Code) != null ? "%" + familyMemberSearchObject.Search_Code + "%" : "");
                    selectCommand.Parameters.AddWithValue("@Name", ((object)familyMemberSearchObject.Search_Name) != null ? "%" + familyMemberSearchObject.Search_Name + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage);
                    selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        FamilyMemberViewModel dbEntry = Read(query);
                        Remedies.Add(dbEntry);
                    }


                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM FamilyMembers " +
                        "WHERE ((@Code IS NULL OR @Code = '' OR Name LIKE @Code) " +
                        "AND (@Name IS NULL OR @Name = '' OR Name LIKE @Name)) " +
                        "AND CompanyId = @CompanyId;", db);

                    selectCommand.Parameters.AddWithValue("@Code", ((object)familyMemberSearchObject.Search_Code) != null ? "%" + familyMemberSearchObject.Search_Code + "%" : "");
                    selectCommand.Parameters.AddWithValue("@Name", ((object)familyMemberSearchObject.Search_Name) != null ? "%" + familyMemberSearchObject.Search_Name + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        response.TotalItems = query.GetInt32(0);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.FamilyMembers  = new List <FamilyMemberViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success       = true;
            response.FamilyMembers = Remedies;
            return(response);
        }
コード例 #21
0
 private void RemoveRelationship()
 {
     FamilyMemberViewModel.RemoveFamilyMember(FamilyMemberTemplate);
 }