Ejemplo n.º 1
0
        public JsonResult DC_Submit(DocContent obj)
        {
            var model = new ResultModel <object>();

            _service.Command <DocOutsourcing>((db, o) =>
            {
                var isAdd = obj.Id == 0;
                if (isAdd)
                {
                    model.ResultInfo = new { id = db.Insert(obj) };
                }
                else
                {
                    db.AddDisableUpdateColumns();
                    db.Update(obj);
                    model.ResultInfo = new { id = obj.Id };
                }
            });
            return(Json(model));
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> Register(DocOut model)
        {
            try
            {
                // DocRef,docFile,DocImage,DocType,Lang

                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                bool   status        = false;
                string ValidFrom     = string.Empty;
                string ValidTo       = string.Empty;
                string DocClass      = string.Empty;
                var    maxDocVersion = 0;
                if (model.DocType.ToString().ToLower() == "profilephoto")
                {
                    status = true;
                    string updateQuery  = @"SELECT * From " + _bucket.Name + " as Users where meta().id ='" + model.IndivID + "'";
                    var    userDocument = _bucket.Query <object>(updateQuery).ToList();

                    if (userDocument.Count > 0)
                    {
                        List <int> maxVersion = new List <int>();

                        if (((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"] != null)
                        {
                            var auditInfoVersion = ((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"];
                            foreach (var itemTD in auditInfoVersion)
                            {
                                if (itemTD["version"] != null)
                                {
                                    maxVersion.Add(Convert.ToInt32(itemTD["version"]));
                                }
                            }
                        }
                        if (maxVersion.Count != 0)
                        {
                            maxDocVersion = 1 + maxVersion.Max();
                        }
                        else
                        {
                            maxDocVersion = 1;
                        }
                    }
                    if (maxDocVersion == 0)
                    {
                        maxDocVersion = 1;
                    }

                    DocClass  = "uploadprofilephoto";
                    ValidFrom = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                    ValidTo   = DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString());
                }
                else
                {
                    status = true;
                    if (string.IsNullOrEmpty(model.ValidFrom))
                    {
                        return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "190-document valid from is required"), new JsonMediaTypeFormatter()));
                    }
                    if (string.IsNullOrEmpty(model.ValidTo))
                    {
                        return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "191-document valid to is required"), new JsonMediaTypeFormatter()));
                    }
                    ValidFrom = model.ValidFrom;
                    ValidTo   = model.ValidTo;
                }

                DocContent docContent = new DocContent();
                if (model.DocContent != null)
                {
                    docContent.Duration = model.DocContent.Duration;
                    docContent.Fees     = model.DocContent.Fees;
                }

                List <DocFile> lstDocFile = new List <DocFile>();

                if (model.DocFile != null)
                {
                    foreach (var df in model.DocFile)
                    {
                        DocFile docFile = new DocFile();
                        docFile.DocFormat = df.DocFormat;
                        docFile.DocImage  = df.DocImage;
                        lstDocFile.Add(docFile);
                    }
                }

                var docOutID       = "PERMIT_" + GenerateRandamNumber();
                var docOutDocument = new Document <DocOut>()
                {
                    Id      = docOutID,
                    Content = new DocOut
                    {
                        DocType     = model.DocType.ToLower(),
                        Version     = maxDocVersion,
                        DocRef      = model.DocRef,
                        Lang        = model.Lang,
                        Status      = status,
                        DateTime    = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()),
                        DocClass    = model.DocClass,
                        ValidTo     = ValidTo,
                        ValidFrom   = ValidFrom,
                        RejReas     = "",
                        IndivID     = model.IndivID,
                        VehID       = model.VehID,
                        CompID      = model.CompID,
                        DocContent  = docContent,
                        DocFile     = lstDocFile,
                        DocAccepted = "PE"
                    },
                };

                var result = await _bucket.InsertAsync(docOutDocument);

                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                if (ConfigurationManager.AppSettings.Get("NotificationSettingFlag") == "1")
                {
                    #region Post Notification RoleCodeHODP
                    //////////////// Post Notification Code
                    try
                    {
                        PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters();
                        objPostNotificationParameters.UserCode         = string.Empty;
                        objPostNotificationParameters.RoleCode         = AspectEnums.RoleCodeHODP;
                        objPostNotificationParameters.DeptCode         = AspectEnums.DeptCodeFROE;
                        objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.PermitRequest;
                        objPostNotificationParameters.KeyID            = docOutID;                   //docOutDocument.KeyID;
                        objPostNotificationParameters.Value            = model.DocRef;
                        objPostNotificationParameters.Status           = AspectEnums.StatusPS;       //"PE";//model.Status.ToString();
                        resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification();
                    }
                    catch (Exception ex)
                    {
                        return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
                    }
                    #endregion
                    #region Post Notification RoleCodeBCKO
                    //////////////// Post Notification Code
                    try
                    {
                        PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters();
                        objPostNotificationParameters.UserCode         = string.Empty;
                        objPostNotificationParameters.RoleCode         = AspectEnums.RoleCodeBCKO;
                        objPostNotificationParameters.DeptCode         = AspectEnums.DeptCodeFROE;
                        objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.PermitRequest;
                        objPostNotificationParameters.KeyID            = docOutID;                   //docOutDocument.KeyID;
                        objPostNotificationParameters.Value            = model.DocRef;
                        objPostNotificationParameters.Status           = AspectEnums.StatusPS;       //"PE";//model.Status.ToString();
                        resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification();
                    }
                    catch (Exception ex)
                    {
                        return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
                    }
                    #endregion
                }

                /////////////////////////////////// add document in IndivID
                if (model.IndivID.Trim() != string.Empty)
                {
                    string query1             = @"SELECT * From " + _bucket.Name + " as Individual where meta().id= 'individual_" + model.IndivID.Trim() + "'";
                    var    individualDocument = _bucket.Query <object>(query1).ToList();

                    if (individualDocument.Count > 0)
                    {
                        Documents addnewDocument = new Documents();
                        addnewDocument.DocumentID = docOutID;
                        // add document code
                        string query            = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='individual_" + model.IndivID.Trim() + "'";
                        var    resultIndividual = _bucket.Query <object>(query);
                    }
                }
                ///////////////////////////////////

                /////////////////////////////////// add document in CompID
                if (model.CompID.Trim() != string.Empty)
                {
                    var companyDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Company where meta().id= 'company_" + model.CompID.Trim() + "'").ToList();

                    if (companyDocument.Count > 0)
                    {
                        Documents addnewDocument = new Documents();
                        addnewDocument.DocumentID = docOutID;
                        // add document code
                        string query            = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='company_" + model.CompID.Trim() + "'";
                        var    resultIndividual = _bucket.Query <object>(query);
                    }
                }
                /////////////////////////////////

                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter()));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> Register(List <DocIn> lstDoc)
        {
            try
            {
                // DocRef,docFile,DocImage,DocType,Lang
                foreach (var model in lstDoc)
                {
                    if (!ModelState.IsValid)
                    {
                        var modelErrors = new List <string>();
                        foreach (var modelState in ModelState.Values)
                        {
                            foreach (var modelError in modelState.Errors)
                            {
                                modelErrors.Add(modelError.ErrorMessage);
                            }
                        }
                        return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                    }

                    bool   status        = false;
                    string ValidFrom     = string.Empty;
                    string ValidTo       = string.Empty;
                    string DocClass      = string.Empty;
                    var    maxDocVersion = 0;
                    if (model.DocType.ToString().ToLower() == "profilephoto")
                    {
                        status = true;
                        string updateQuery  = @"SELECT * From " + _bucket.Name + " as Users where meta().id ='" + model.IndivID + "'";
                        var    userDocument = _bucket.Query <object>(updateQuery).ToList();
                        if (userDocument.Count > 0)
                        {
                            List <int> maxVersion = new List <int>();

                            if (((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"] != null)
                            {
                                var auditInfoVersion = ((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"];
                                foreach (var itemTD in auditInfoVersion)
                                {
                                    if (itemTD["version"] != null)
                                    {
                                        maxVersion.Add(Convert.ToInt32(itemTD["version"]));
                                    }
                                }
                            }
                            if (maxVersion.Count != 0)
                            {
                                maxDocVersion = 1 + maxVersion.Max();
                            }
                            else
                            {
                                maxDocVersion = 1;
                            }
                        }
                        if (maxDocVersion == 0)
                        {
                            maxDocVersion = 1;
                        }

                        DocClass  = model.DocClass;
                        ValidFrom = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                        ValidTo   = DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString());
                    }
                    else
                    {
                        status = false;
                        if (string.IsNullOrEmpty(model.ValidFrom))
                        {
                            //return Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "190-document valid from is required"), new JsonMediaTypeFormatter());
                        }
                        if (string.IsNullOrEmpty(model.ValidTo))
                        {
                            //return Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "191-document valid to is required"), new JsonMediaTypeFormatter());
                        }
                        ValidFrom = model.ValidFrom;
                        ValidTo   = model.ValidTo;
                    }
                    DocContent docContent = new DocContent();
                    if (model.DocContent != null)
                    {
                        docContent.Duration = model.DocContent.Duration;
                        docContent.Fees     = model.DocContent.Fees;
                    }
                    List <DocFile> lstDocFile = new List <DocFile>();
                    if (model.DocFile != null)
                    {
                        foreach (var df in model.DocFile)
                        {
                            DocFile docFile = new DocFile();
                            docFile.DocFormat = df.DocFormat;
                            docFile.DocImage  = df.DocImage;
                            lstDocFile.Add(docFile);
                        }
                    }
                    var docID         = "DOCIN_" + GenerateRandamNumber();
                    var docInDocument = new Document <DocIn>()
                    {
                        Id      = docID,
                        Content = new DocIn
                        {
                            DocType    = model.DocType.ToLower(),
                            Version    = maxDocVersion,
                            DocRef     = model.DocRef,
                            Lang       = model.Lang,
                            Status     = false,
                            DateTime   = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()),
                            DocClass   = model.DocClass,
                            ValidTo    = ValidTo,
                            ValidFrom  = ValidFrom,
                            RejReas    = "",
                            IndivID    = model.IndivID,
                            VehID      = model.VehID,
                            CompID     = model.CompID,
                            DocContent = docContent,
                            DocFile    = lstDocFile,
                            Id         = model.Id,
                            IssueDate  = model.IssueDate,
                            ExpiryDate = model.ExpiryDate,
                            Place      = model.Place,
                            Categories = model.Categories
                        },
                    };
                    var result = await _bucket.InsertAsync(docInDocument);

                    //if (!result.Success)
                    //{
                    //    return Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter());
                    //}
                    /////////////////////////////////// add document in IndivID
                    if (model.IndivID.Trim() != string.Empty)
                    {
                        string query1             = @"SELECT * From " + _bucket.Name + " as Individual where meta().id= 'individual_" + model.IndivID.Trim() + "'";
                        var    individualDocument = _bucket.Query <object>(query1).ToList();

                        if (individualDocument.Count > 0)
                        {
                            Documents addnewDocument = new Documents();
                            addnewDocument.DocumentID = docID;
                            // add document code
                            string query            = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='individual_" + model.IndivID.Trim() + "'";
                            var    resultIndividual = _bucket.Query <object>(query);
                        }
                    }
                    /////////////////////////////////// add document in CompID
                    if (model.CompID != null)
                    {
                        if (model.CompID.Trim() != string.Empty)
                        {
                            var companyDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Company where meta().id= 'company_" + model.CompID.Trim() + "'").ToList();

                            if (companyDocument.Count > 0)
                            {
                                Documents addnewDocument = new Documents();
                                addnewDocument.DocumentID = docID;
                                // add document code
                                string query            = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='company_" + model.CompID.Trim() + "'";
                                var    resultIndividual = _bucket.Query <object>(query);
                            }
                        }
                    }
                }
                /////////////////////////////////
                return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), "Documents uploaded sucessfully")));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }