コード例 #1
0
        public void AuditLogExecuting(HttpActionContext filterContext)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("Controller:" + " " + filterContext.ControllerContext.ControllerDescriptor.ControllerType.FullName);
            sb.Append(Environment.NewLine);
            sb.Append("Action:" + " " + filterContext.ActionDescriptor.ActionName);
            sb.Append(Environment.NewLine);
            sb.Append("LogDate:" + " " + DataConversion.ConvertDateYMD(DateTime.Now.ToString()));
            sb.Append(Environment.NewLine);
            sb.Append("LogTime:" + " " + DateTime.Now.ToLongTimeString());
            GlobalConfiguration.Configuration.Services.Replace(typeof(ITraceWriter), new NLogger());
            var trace = GlobalConfiguration.Configuration.Services.GetTraceWriter();

            trace.Info(filterContext.Request, sb.ToString(), "JSON", filterContext.ActionArguments);
        }
コード例 #2
0
        public void AuditLogExecuted(HttpActionExecutedContext context)
        {
            var objectContent = context.Response.Content as ObjectContent;

            if (objectContent != null)
            {
                string        requestParameter  = context.Request.Content.ReadAsStringAsync().Result;
                string        responseParameter = context.Response.Content.ReadAsStringAsync().Result;
                var           type   = objectContent.ObjectType; //type of the returned object
                var           values = objectContent.Value;      //holding the returned value
                StringBuilder sb     = new StringBuilder();
                sb.Append("Controller:" + " " + context.ActionContext.ControllerContext.ControllerDescriptor.ControllerName);
                sb.Append(Environment.NewLine);
                sb.Append("Action:" + " " + context.ActionContext.ActionDescriptor.ActionName);
                sb.Append(Environment.NewLine);
                sb.Append("StatusCode:" + " " + context.Response.ToString().Split(',')[0].ToString().Split(':')[1]);
                sb.Append(Environment.NewLine);
                sb.Append("Status:" + " " + context.Response.ReasonPhrase);
                sb.Append(Environment.NewLine);
                sb.Append("Response:" + " " + (JSONHelper.ToJSON(responseParameter))).ToString().Replace("\r\n", "").Replace("\n", "").Replace("\r", "");
                sb.Append(Environment.NewLine);
                sb.Append("LogDate:" + " " + DataConversion.ConvertDateYMD(DateTime.Now.ToString()));
                sb.Append(Environment.NewLine);
                sb.Append("LogTime:" + " " + DateTime.Now.ToLongTimeString());
                string jsonResult = JsonConvert.SerializeObject(values, Formatting.None);
                GlobalConfiguration.Configuration.Services.Replace(typeof(ITraceWriter), new NLogger());
                var trace = GlobalConfiguration.Configuration.Services.GetTraceWriter();
                trace.Info(context.Request, sb.ToString(), "JSON", context.ActionContext.ActionArguments
                           );
                //trace.Info(context.Request, "Response : " + context.Response.ReasonPhrase.ToString() + Environment.NewLine
                //+ "Response Details : " + context.ActionContext.Response.ToString() + Environment.NewLine
                //+ "Action : " + context.ActionContext.ActionDescriptor.ActionName, "JSON", context.ActionContext.ActionArguments
                //+ Environment.NewLine + "Response Result : " + jsonResult
                //);
            }
        }
コード例 #3
0
        public IHttpActionResult EmployeeRegister(Individual model)
        {
            try
            {
                if (model.fullName == null)
                {
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-Full name is required"), new JsonMediaTypeFormatter()));
                }
                else
                {
                    if (string.IsNullOrEmpty(model.fullName.Ar_SA) && string.IsNullOrEmpty(model.fullName.En_US))
                    {
                        return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-Full name is required"), new JsonMediaTypeFormatter()));
                    }
                }
                // Validate Model
                if (!ModelState.IsValid)
                {
                    var modelErrors = new List <string>();
                    foreach (var modelState in ModelState.Values)
                    {
                        foreach (var modelError in modelState.Errors)
                        {
                            modelErrors.Add(modelError.ErrorMessage == "" ? modelError.Exception.Message : modelError.ErrorMessage);
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter()));
                }

                var userDocumentEmail = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where email= '" + model.Email + "' and isActive=true").ToList();
                if (userDocumentEmail.Count > 0)
                {
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter()));
                }

                if (model.LoginDetails != null)
                {
                    if (string.IsNullOrEmpty(model.LoginDetails.Password))
                    {
                        return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "158-Password is required"), new JsonMediaTypeFormatter()));
                    }
                }

                var userDocumentPhone = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where " + _bucket.Name + ".mobNum.num= '" + model.MobNum.NumM + "'").ToList();

                if (userDocumentPhone.Count > 0)
                {
                    return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "Mobile number already exists"), new JsonMediaTypeFormatter()));
                }

                Address address = new Address();
                address.City    = model.Address.City;
                address.State   = model.Address.State;
                address.Area    = model.Address.Area;
                address.Street  = model.Address.Street;
                address.BldgNum = model.Address.BldgNum;
                address.FlatNum = model.Address.FlatNum;

                MobNum mobNum = new MobNum();
                mobNum.CountryCodeM = model.MobNum.CountryCodeM;
                mobNum.NumM         = model.MobNum.NumM;
                mobNum.AreaM        = model.MobNum.AreaM;

                TelNum telNum = new TelNum();
                if (model.TelNum != null)
                {
                    telNum.CountryCodeT = model.TelNum.CountryCodeT;
                    telNum.NumT         = model.TelNum.NumT;
                    telNum.AreaT        = model.TelNum.AreaT;
                }

                List <AuditInfo> lstauditInfo = new List <AuditInfo>();
                AuditInfo        auditInfo    = new AuditInfo();
                auditInfo.Version        = "1";
                auditInfo.Status         = "true";
                auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                auditInfo.LastChangeBy   = model.Email;
                lstauditInfo.Add(auditInfo);

                List <Roles> lstRoles = new List <Roles>();
                if (model.Roles != null)
                {
                    foreach (var role in model.Roles)
                    {
                        Roles roles = new Roles();
                        roles.RoleID = role.RoleID;
                        roles.Name   = role.Name;
                        roles.Link   = role.Link;
                        lstRoles.Add(roles);
                    }
                }

                #region MyRegion
                List <Fines>        lstFines        = new List <Fines>();
                List <Documents>    lstDocuments    = new List <Documents>();
                List <Vehicles>     lstVehicles     = new List <Vehicles>();
                List <Incidents>    lstIncident     = new List <Incidents>();
                List <ScoreCards>   lstScoreCard    = new List <ScoreCards>();
                List <DriverStatus> lstdriverStatus = new List <DriverStatus>();
                #endregion

                FullName fullName = new FullName();
                fullName.En_US = model.fullName.En_US;
                fullName.Ar_SA = model.fullName.Ar_SA;

                Status status = new Status();
                if (model.Status != null)
                {
                    status.StatusID = model.Status.StatusID;
                    status.DateTime = model.Status.DateTime;
                }



                //DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString())
                ProfilePhoto profilePhoto = new ProfilePhoto();
                if (model.ProfilePhoto != null)
                {
                    profilePhoto.DocFormat = model.ProfilePhoto.DocFormat;
                    profilePhoto.Photo     = model.ProfilePhoto.Photo;
                    profilePhoto.ValidFrom = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());
                    profilePhoto.ValidTo   = DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString());
                }
                string docId = string.Empty;
                if (string.IsNullOrEmpty(model.KeyID))
                {
                    docId = "individual_" + Guid.NewGuid();
                }
                else
                {
                    docId = "individual_" + model.KeyID;
                }

                var employeeDoc = new Document <Individual>()
                {
                    Id      = docId,
                    Content = new Individual
                    {
                        KeyID         = docId,
                        fullName      = fullName,
                        DOB           = DataConversion.ConvertDateYMD(model.DOB),
                        Nationality   = model.Nationality,
                        Gender        = model.Gender,
                        Fines         = lstFines,
                        Language      = model.Language,
                        MaritalStatus = model.MaritalStatus,
                        MobNum        = mobNum,
                        AuditInfo     = lstauditInfo,
                        Vehicles      = lstVehicles,
                        Roles         = lstRoles,
                        TelNum        = telNum,
                        DocType       = ("Individual").ToLower(),
                        Documents     = lstDocuments,
                        Email         = model.Email,
                        ProfilePhoto  = profilePhoto,
                        Notes         = model.Notes,
                        ScoreCards    = lstScoreCard,
                        Address       = address,
                        Religion      = model.Religion,
                        Status        = status,
                        Incidents     = lstIncident,
                        DriverStatus  = lstdriverStatus,
                    },
                };
                var result = _bucket.Insert(employeeDoc);
                if (!result.Success)
                {
                    return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()));
                }
                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()));
            }
        }