Ejemplo n.º 1
0
        public async Task <DocumentStoreSetRes> SetDocumentStore([FromBody] DocumentStoreSetReq request)
        {
            var response = new DocumentStoreSetRes();

            try
            {
                if (request != null)
                {
                    response = await _documentStoreRepository.SetDocumentStore(request);
                }
                else
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "Details can not be blank.";
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message;
            }
            return(response);
        }
Ejemplo n.º 2
0
        public async Task <DocumentStoreSetRes> SetDocumentStore(DocumentStoreSetReq request)
        {
            var res = new DocumentStoreSetRes()
            {
                ResponseStatus = new ResponseStatus()
            };

            try
            {
                if (request != null && request.mDocumentStore != null)
                {
                    FilterDefinition <mDocumentStore> filter;
                    filter = Builders <mDocumentStore> .Filter.Empty;

                    int c = 0;
                    if (!string.IsNullOrEmpty(request.mDocumentStore.BookingNumber) && !string.IsNullOrEmpty(request.mDocumentStore.PositionId))
                    {
                        FilterDefinition <mDocumentStore> filterCnt;
                        filterCnt = Builders <mDocumentStore> .Filter.Empty;
                        filterCnt = filterCnt & Builders <mDocumentStore> .Filter.Where(f => f.PositionId == request.mDocumentStore.PositionId && f.BookingNumber == request.mDocumentStore.BookingNumber);

                        var mDocumentStore = await _MongoContext.mDocumentStore.Find(filterCnt).ToListAsync();

                        if (string.IsNullOrEmpty(request.mDocumentStore.Document_Id))
                        {
                            c = mDocumentStore.Count + 1;
                            var booking = _MongoContext.Bookings.AsQueryable().Where(a => a.BookingNumber == request.mDocumentStore.BookingNumber).FirstOrDefault();
                            var pos     = booking.Positions.Where(b => b.Position_Id == request.mDocumentStore.PositionId).FirstOrDefault();
                            request.mDocumentStore.DocumentReference = request.mDocumentStore.BookingNumber.ToString() + "-" + pos.GRIDINFO.Split(' ')[0] + "-" + c.ToString();
                        }
                        else
                        {
                            var docres = mDocumentStore.Where(a => a.Document_Id == request.mDocumentStore.Document_Id).FirstOrDefault();
                            if (docres != null)
                            {
                                request.mDocumentStore.DocumentReference = docres.DocumentReference;
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(request.mDocumentStore.Document_Id))
                    {
                        filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.Document_Id == request.mDocumentStore.Document_Id);

                        var mDocumentStore = await _MongoContext.mDocumentStore.Find(filter).FirstOrDefaultAsync();

                        //Set System Company Id
                        string SystemCompanyId = string.Empty;
                        if (!string.IsNullOrWhiteSpace(request.mDocumentStore.BookingNumber))
                        {
                            SystemCompanyId = _MongoContext.Bookings.AsQueryable().Where(x => x.BookingNumber == request.mDocumentStore.BookingNumber).FirstOrDefault()?.SystemCompany_Id;
                        }
                        else if (!string.IsNullOrWhiteSpace(request.mDocumentStore.QRFID))
                        {
                            SystemCompanyId = _MongoContext.mQRFPrice.AsQueryable().Where(x => x.QRFID == request.mDocumentStore.QRFID && x.IsCurrentVersion == true).OrderByDescending(y => y.VersionId).FirstOrDefault()?.SystemCompany_Id;
                        }

                        request.mDocumentStore.SystemCompany_Id = SystemCompanyId;

                        if (mDocumentStore != null)
                        {
                            request.mDocumentStore.Edit_Date = DateTime.Now;

                            var docstore = await _MongoContext.mDocumentStore.FindOneAndUpdateAsync(a => a.Document_Id == request.mDocumentStore.Document_Id,
                                                                                                    Builders <mDocumentStore> .Update.
                                                                                                    Set("QRFID", request.mDocumentStore.QRFID).
                                                                                                    Set("PositionId", request.mDocumentStore.PositionId).
                                                                                                    Set("BookingNumber", request.mDocumentStore.BookingNumber).
                                                                                                    Set("AlternateServiceId", request.mDocumentStore.AlternateServiceId).
                                                                                                    Set("SupplierId", request.mDocumentStore.SupplierId).
                                                                                                    Set("ClientId", request.mDocumentStore.ClientId).
                                                                                                    Set("QRFPriceId", request.mDocumentStore.QRFPriceId).
                                                                                                    Set("To", request.mDocumentStore.To).
                                                                                                    Set("From", request.mDocumentStore.From).
                                                                                                    Set("CC", request.mDocumentStore.CC).
                                                                                                    Set("BCC", request.mDocumentStore.BCC).
                                                                                                    Set("Subject", request.mDocumentStore.Subject).
                                                                                                    Set("Body", request.mDocumentStore.Body).
                                                                                                    Set("DocumentPath", request.mDocumentStore.DocumentPath).
                                                                                                    Set("DocumentType", request.mDocumentStore.DocumentType).
                                                                                                    Set("Importance", request.mDocumentStore.Importance).
                                                                                                    Set("SendDate", request.mDocumentStore.SendDate).
                                                                                                    Set("SendStatus", request.mDocumentStore.SendStatus).
                                                                                                    Set("ErrorMessage", request.mDocumentStore.ErrorMessage).
                                                                                                    Set("Edit_Date", request.mDocumentStore.Edit_Date).
                                                                                                    Set("Edit_User", request.mDocumentStore.Edit_User).
                                                                                                    Set("RetryDate", request.mDocumentStore.RetryDate).
                                                                                                    Set("Send_Via", request.mDocumentStore.Send_Via).
                                                                                                    Set("DocumentReference", request.mDocumentStore.DocumentReference).
                                                                                                    Set("DocumentSigned", request.mDocumentStore.DocumentSigned).
                                                                                                    Set("SupplierConfNum", request.mDocumentStore.SupplierConfNum).
                                                                                                    Set("DocumentSignInUser", request.mDocumentStore.DocumentSignInUser).
                                                                                                    Set("MailStatus", request.mDocumentStore.MailStatus).
                                                                                                    Set("SystemCompany_Id", SystemCompanyId));

                            if (docstore != null)
                            {
                                res.ResponseStatus.Status       = "Success";
                                res.ResponseStatus.ErrorMessage = "Document Store details upadted successfully.";
                            }
                            else
                            {
                                res.ResponseStatus.Status       = "Failure";
                                res.ResponseStatus.ErrorMessage = "Document Store details not upadted.";
                            }
                        }
                        else
                        {
                            res.ResponseStatus.Status       = "Failure";
                            res.ResponseStatus.ErrorMessage = "Document Id not exists in mDocumentStore collection.";
                        }
                    }
                    else
                    {
                        request.mDocumentStore.Edit_Date   = null;
                        request.mDocumentStore.Edit_User   = "";
                        request.mDocumentStore.Document_Id = string.IsNullOrEmpty(request.Document_Id) ? Guid.NewGuid().ToString() : request.Document_Id;
                        await _MongoContext.mDocumentStore.InsertOneAsync(request.mDocumentStore);

                        res.ResponseStatus.Status       = "Success";
                        res.ResponseStatus.ErrorMessage = "Document Store details inserted successfully.";
                    }
                    res.DocumentId = request.mDocumentStore.Document_Id;
                }
                else
                {
                    res.ResponseStatus.Status       = "Failure";
                    res.ResponseStatus.ErrorMessage = "Request can not be null/blank.";
                }
            }
            catch (Exception ex)
            {
                res.ResponseStatus.Status       = "Failure";
                res.ResponseStatus.ErrorMessage = !string.IsNullOrEmpty(ex.Message) ? ex.Message : (ex.InnerException != null && !string.IsNullOrEmpty(ex.InnerException.Message)) ? ex.InnerException.Message : "";
            }
            return(res);
        }