예제 #1
0
        private void InitPage(CrudAPI crudApi)
        {
            layoutControl = layoutItems;
            if (LoadedRow == null)
            {
                frmRibbon.DisableButtons(new string[] { "Delete" });
                companyDocumentClientRow     = CreateNew() as CompanyDocumentClient;
                cmbDocumentUse.ItemsSource   = GetDocumentUsage(AppEnums.CompanyDoc.Values);
                cmbDocumentUse.SelectedIndex = 0;
            }
            else
            {
                cmbDocumentUse.ItemsSource  = AppEnums.CompanyDoc.Values;
                cmbDocumentUse.SelectedItem = companyDocumentClientRow.DocumentUseFor;
            }
            layoutItems.DataContext  = companyDocumentClientRow;
            frmRibbon.OnItemClicked += frmRibbon_OnItemClicked;

#if !SILVERLIGHT
            browseControl.CompressVisibility = Visibility.Visible;
            string imgfilter = "Image Files|*.jpg;*.jpeg;*.png;*.gif;*.tif;...";
#else
            string imgfilter = "Image files (*.bmp,*.jpg) |*.bmp; *.jpg";
#endif
            browseControl.Filter = imgfilter;
        }
        private CompanyDocumentClient AddLogosToCompanyDocument(byte[] fileBytes, string fileExtension, CompanyDocumentUse documentUseFor)
        {
            var companyDoc = new CompanyDocumentClient();

            companyDoc.UseFor       = documentUseFor;
            companyDoc.DocumentData = fileBytes;
            companyDoc.DocumentType = DocumentConvert.GetDocumentType(fileExtension);

            return(companyDoc);
        }
        async void ShowContent(CompanyDocumentClient selectedItem)
        {
            busyIndicator.IsBusy = true;
            await api.Read(selectedItem);

            CWDocumentViewer viewer = new CWDocumentViewer(selectedItem.DocumentData, selectedItem.DocumentType);

            viewer.Show();
            busyIndicator.IsBusy = false;
        }
        private async void bindEmailBody()
        {
            var master = new List <UnicontaBaseEntity>();

            master.Add(editrow);
            DocClientRow        = new CompanyDocumentClient();
            DocClientRow.UseFor = CompanyDocumentUse.BodyOfEmail;
            await api.Read(DocClientRow);

            if (DocClientRow.DocumentData != null && DocClientRow.DocumentData.Length > 0)
            {
                txtemailbody.Text = System.Text.Encoding.UTF8.GetString(DocClientRow.DocumentData, 0, DocClientRow.DocumentData.Length);
            }
        }
        private async void frmRibbon_OnItemClicked(string ActionType)
        {
            if (ActionType == "Save")
            {
                MoveFocus();
                ErrorCodes res = ErrorCodes.NoSucces;
                try
                {
                    busyIndicator.IsBusy = true;
                    if (IsNew)
                    {
                        res = await api.Insert(editrow);

                        if (res == ErrorCodes.Succes)
                        {
                            DocClientRow = new CompanyDocumentClient();
                            DocClientRow.DocumentUseFor = CompanyDocumentUse.BodyOfEmail.ToString();
                            if (!string.IsNullOrEmpty(txtemailbody.Text))
                            {
                                DocClientRow.DocumentData = System.Text.Encoding.UTF8.GetBytes(txtemailbody.Text);
                            }
                            res = await api.Insert(DocClientRow);
                        }
                        if (res == ErrorCodes.Succes)
                        {
                            ClearBusy();
                            dockCtrl.CloseDockItem();
                        }
                        else
                        {
                            await ShowErrMsg(res);
                        }
                    }
                    else
                    {
                        res = await api.Update(editrow);

                        if (res == ErrorCodes.Succes)
                        {
                            DocClientRow.DocumentData = System.Text.Encoding.UTF8.GetBytes(txtemailbody.Text);
                            if (DocClientRow.CompanyId == 0)
                            {
                                res = await api.Insert(DocClientRow);
                            }
                            else
                            {
                                res = await api.Update(DocClientRow);
                            }
                        }
                        if (res == ErrorCodes.Succes)
                        {
                            ClearBusy();
                            dockCtrl.CloseDockItem();
                        }
                        else
                        {
                            await ShowErrMsg(res);
                        }
                    }
                }
                catch (Exception ex)
                {
                    busyIndicator.IsBusy = false;
                    BasePage.session.ReportException(ex, "EmailSetupPage", session.DefaultCompany.RowId);
                    throw ex;
                }
            }
            else
            {
                frmRibbon_BaseActions(ActionType);
            }
        }