بروز رسانی مشخصات نامه در اتوماسیون اداری با توجه به شماره نامه از سایر نرم‌‎افزارها

زمانی که نامه ای در سیستم وجود دارد و شماره نامه اختصاصی موجود است و نیاز است اطلاعات Header نامه ویرایش شود با وارد کردن شماره نامه و پر کردن اطلاعات جدید در آبجکت LetterDetailModel و LetterModel و استفاده از متد UpdateLetter عملیات بروزرسانی اطلاعات نامه توسط سیستم فراگستر انجام میگیرد.

کد زیر نمونه از به روز رسانی یک نامه را نشان میدهد که به صورت Clean نوشته شده است


 //Connect The WebService With using that Diposible Memory After Finishing Job.
            using (var customerServiceClient = new CustomerServiceClient())
            using (var authServiceClient = new AuthServiceClient())
            {
                //Define Username 
                const string username = "admin";
                //Fill Model 
                var userModel = new CredentialModel
                {
                    Username = username,
                    Password = "1"
                };

                //Define Guid That Get A FaraGostar Company
                var applicationGuid = new Guid("8A5D7167-E0F9-4C3B-BAA6-EB736A707BAD");
                var ticketModel = authServiceClient.SignIn(applicationGuid, userModel);
                //Get ticketId
                var ticket = ticketModel.SecureTicketId;
                var employeePositonModel = customerServiceClient.GetUserEmployeePosition(ticket, username);

                //Instance Of LetterDetailModel and Fill it
                var letterDetailModel = new LetterDetailModel
                {
                    Letter = new LetterModel
                    {
                        CreateDate = DateTime.Now,
                        Description = "Desc",
                        Subject = "API Subject is ",
                        LetterSenderCode = employeePositonModel.First().EmployeePositionId.ToString(),
                        LetterDraftTypeKind = LetterDraftTypeKinds.FileEditor,
                        InOutTypeKind = LetterInOutTypeKinds.External,
                        SecretariatToSecretariatFormatId = 1,
                        ReplyToCreator = true,
                        EmployeePositionIdSender = employeePositonModel.First().EmployeePositionId
                    },
                    SyncBodies = true,
                    SyncFirstReceiver = true
                };
                //Fill the Model For Attachment 
                var path = @"C:\File.jpg";
                var fileAttachment = Directory.GetFiles(path);

                letterDetailModel.Attachments = new LetterAttachmentModel[1];
                var attIndex = 0;
                foreach (var attch in fileAttachment)
                {
                    //Convert File To Byte And Fill Model Like Sample
                    var bytes = File.ReadAllBytes(attch);
                    var fileInfo = new FileInfo(attch);

                    letterDetailModel.Attachments[attIndex++] =
                        new LetterAttachmentModel
                        {
                            FileName = fileInfo.Name,
                            Title = fileInfo.Name,
                            FileExtension = fileInfo.Extension,
                            FileImage = bytes,
                            FileLength = (int) fileInfo.Length,
                            IsOtherLetterAttachment = true,
                            Description = "Description"
                        };
                }


                //call Method For updatge By Model
                var letterNumber = "1001";

                customerServiceClient.UpdateLetter(ticket, letterNumber,
                    letterDetailModel);

ورودی و خروجی توابع را در جدول زیر مشاهده مینمایید

ورودی ها
نام نوع شرح
۱ ticket String مجوز ورود کاربر
۲ employeePositionCode String شناسه پست پیش فرض کاربر جاری
۳ letterNumber String شماره نامه
۴ LetterDetailModel LetterDetailModel مدل شامل مشخصات نامه
خروجی
نوع شرح
boolean عملیات موفق