Ejemplo n.º 1
0
        /// <inheritdoc />
        public IList <MessageReportModel> GetEcommerceMessages(MessageSearchModel searchData)
        {
            IList <MessageReportModel> reports = new List <MessageReportModel>();

            using (var sqlConnection = new SqlConnection(Constants.ConnectorDatabase))
            {
                try
                {
                    Query query = new Query("InboundQueue as MQE")
                                  .Select("MQE.Id", "MQE.ErpId", "MQE.EcommerceId", "MQE.CreatedTime", "MQE.UpdatedTime", "MQE.StatusId", "MQE.SyncCounter", "MQE.EntityId", "MQE.ErrorMessage", "IE.EntityName", "MSL.StatusName", "MQE.EcommerceMessageId", "MQE.StatusId")
                                  .Join("EntityMaster as IE", "MQE.EntityId", "IE.EntityId")
                                  .Join("StatusMaster as MSL", "MQE.StatusId", "MSL.StatusId");

                    PrepareRequestParameters(query, searchData);
                    SqlResult sqlResult = new SqlServerCompiler().Compile(query);

                    using (var command = new SqlCommand(sqlResult.Sql, sqlConnection))
                    {
                        foreach (KeyValuePair <string, object> binding in sqlResult.Bindings)
                        {
                            command.Parameters.AddWithValue(binding.Key, binding.Value);
                        }
                        sqlConnection.Open();
                        using (SqlDataReader dataReader = command.ExecuteReader())
                        {
                            int i = 1;
                            while (dataReader.Read())
                            {
                                var record = new MessageReportModel
                                {
                                    Index          = i++,
                                    MessageId      = dataReader.GetInt64(0),
                                    ErpId          = dataReader.IsDBNull(1) ? string.Empty : dataReader.GetString(1),
                                    EcommerceId    = dataReader.GetString(2),
                                    CreatedDate    = dataReader.GetDateTime(3),
                                    ModifiedDate   = dataReader.GetDateTime(4),
                                    SyncCounter    = dataReader.GetByte(6),
                                    EntityId       = dataReader.GetByte(7),
                                    ErrorMessage   = dataReader.IsDBNull(8) ? "" : dataReader.GetString(8),
                                    EntityName     = dataReader.GetString(9),
                                    MessageStatus  = dataReader.GetString(10),
                                    CloudMessageId = dataReader.GetInt64(11),
                                    StatusId       = dataReader.GetByte(12),
                                };
                                record.IsCheckBoxEnabled = record.StatusId == (int)MessageStatus.RequestProcessed || record.StatusId == (int)MessageStatus.Error;
                                record.ShowActionLink    = !string.IsNullOrEmpty(record.ErrorMessage);
                                reports.Add(record);
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                    Logger.LogMessage(exception.Message, LogMessages.GetEcommerceMessages, LogType.Error, exception);
                    throw;
                }
                return(reports);
            }
        }
        public ActionResult MessageReport(string PatientId, DateTime FromDate, DateTime ToDate)
        {
            var totalwithin          = 0;
            var totaloutside         = 0;
            IEncounterReport encrepo = new EncounterReportModel();
            IEnumerable <EncounterReport> encrepos = encrepo.GetAll().Where(e => e.PatientId == PatientId).AsEnumerable();

            IPatientMDRepository    _patients = new PatientMDRepository();
            IEnumerable <PatientMD> patient   = _patients.GetByUserId(PatientId);
            var pat = patient.FirstOrDefault();

            foreach (var er in encrepos)
            {
                DateTime date = er.Encounterdate;
                if (FromDate <= date && date <= ToDate)
                {
                    totalwithin++;
                }
                else
                {
                    totaloutside++;
                }
            }
            var            numwithin             = 0;
            var            numoutside            = 0;
            IMessageReport msgrepo               = new MessageReportModel();
            IEnumerable <MessageReport> msgrepos = msgrepo.GetAll().Where(e => e.SentTo == PatientId).AsEnumerable();

            foreach (var mr in msgrepos)
            {
                DateTime dt = mr.Messagedate;

                if (FromDate <= dt && dt <= ToDate)
                {
                    numwithin++;
                }
                else
                {
                    numoutside++;
                }
            }

            var json = new MessageReportViewModel
            {
                PatientName  = pat.PatientName,
                DOB          = pat.DateOfBirth,
                TotalOutside = totaloutside,
                TotalWithin  = totalwithin,
                Gender       = pat.Sex,
                NumWithin    = numwithin,
                NumOutside   = numoutside
            };

            return(Json(json));
        }
Ejemplo n.º 3
0
        // POST api/WallPost
        public HttpResponseMessage PostPost(Post post)
        {
            var session = HttpContext.Current.Session;

            if (session["UserId"] != null)
            {
                userId = session["UserId"].ToString();
            }

            post.PostedBy   = userId;
            post.PostedDate = DateTime.UtcNow;
            var user = db.UserProfiles.FirstOrDefault(x => x.UserName == post.PostReceivedBy);

            ModelState.Remove("post.PostReceivedBy");
            ModelState.Remove("post.PostedBy");
            ModelState.Remove("post.PostedDate");
            post.PostReceivedBy = user.UserId;

            if (ModelState.IsValid)
            {
                db.Posts.Add(post);
                db.SaveChanges();
                var phy   = db.UserProfiles.FirstOrDefault(p => p.UserId == post.PostedBy);
                var roles = Roles.GetRolesForUser(phy.UserName);
                if (roles.Contains("Physician"))
                {
                    IMessageReport msgrep = new MessageReportModel();
                    MessageReport  msg    = new MessageReport();
                    msg.SentBy = post.PostedBy;
                    msg.SentTo = post.PostReceivedBy;
                    var newmsg = msgrep.AddMessageReport(msg);
                }
                var usr = db.UserProfiles.FirstOrDefault(x => x.UserId == post.PostedBy);
                var ret = new
                {
                    Message        = post.Message,
                    PostedBy       = post.PostedBy,
                    PostedByName   = usr.UserName,
                    PostReceivedBy = post.PostReceivedBy,
                    PostedByAvatar = imgFolder + (String.IsNullOrEmpty(usr.AvatarExt) ? defaultAvatar : post.PostedBy + "." + post.UserProfile.AvatarExt),
                    PostedDate     = post.PostedDate,
                    PostId         = post.PostId
                };
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, ret);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = post.PostId }));
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }