Example #1
0
 /// <summary>
 /// Maps a VisitorNotification to a VisitorNotificationResource.
 /// </summary>
 /// <param name="visitorNotification">The visitor notification.</param>
 /// <returns>A visitor notification</returns>
 public static VisitorNotificationResource ToVisitorNotificationResource(this VisitorNotification visitorNotification)
 {
     return(new VisitorNotificationResource()
     {
         Id = visitorNotification.Id,
         PositiveCaseId = visitorNotification.PositiveCase.Id,
         VisitorId = visitorNotification.Visitor.Id,
         SentDate = visitorNotification.SentDate
     });
 }
 /// <summary>
 /// Maps a VisitorNotification to VisitorNotificationModel.
 /// </summary>
 /// <param name="visitorNotification">The visitor notification model.</param>
 /// <returns>A visitor notification model</returns>
 public static VisitorNotificationModel ToVisitorNotificationModel(this VisitorNotification visitorNotification)
 {
     return(new VisitorNotificationModel()
     {
         Id = visitorNotification.Id,
         CreatedBy = visitorNotification.CreatedBy,
         CreatedOn = visitorNotification.CreatedOn,
         UpdatedBy = visitorNotification.UpdatedBy,
         UpdatedOn = visitorNotification.UpdatedOn,
         Visitor = visitorNotification.Visitor?.ToVisitorModel(),
         PositiveCase = visitorNotification.PositiveCase?.ToPositiveCaseModel(),
         SentDate = visitorNotification.SentDate
     });
 }
Example #3
0
        public HttpResponseMessage Post([FromBody] VisitorEntry value)
        {
            String resp = "{\"Response\":\"Undefine\"}";

            var ctx = new NestinDBEntities();

            using (var dbContextTransaction = ctx.Database.BeginTransaction())
            {
                try
                {
                    Random r    = new Random();
                    var    code = 0;

                    do
                    {
                        code = r.Next(1000, 9999);
                    } while (IsCodeInUse(code.ToString()));

                    String mobile = value.VisitorMobile;
                    if (mobile.Length > 10)
                    {
                        mobile = mobile.Substring(mobile.Length - 10, mobile.Length);
                    }

                    if (value.VisitorId == 0)
                    {
                        VisitorDetail guest = new VisitorDetail();
                        guest.VisitorMobileNo = mobile;
                        guest.VisitorName     = value.VisitorName;
                        guest.VisitorAddress  = value.VisitorAddress;
                        guest.SocietyId       = value.SocietyId;
                        guest.VisitorImage    = value.VisitorImage;
                        var c = ctx.VisitorDetails;
                        c.Add(guest);
                        ctx.SaveChanges();
                        value.VisitorId = guest.id;
                    }

                    if (value.VisitorId > 0)
                    {
                        ctx.VisitorRequests.Add(new VisitorRequest
                        {
                            VisitorId    = value.VisitorId,
                            VisitPurpose = value.VisitPurpose,
                            StartTime    = DateTime.ParseExact(value.StartTime, "yyyy-MM-ddTHH:mm:ss.SSSZ", System.Globalization.CultureInfo.InvariantCulture),
                            EndTime      = DateTime.ParseExact(value.EndTime, "yyyy-MM-ddTHH:mm:ss.SSSZ", System.Globalization.CultureInfo.InvariantCulture),

                            SecurityCode = code.ToString(),
                            SocietyId    = value.SocietyId,
                            ResId        = value.ResID,
                            Flat         = value.FlatNumber
                        });
                    }

                    ctx.SaveChanges();

                    dbContextTransaction.Commit();
                    var strMessage = "Code for Entry in Flat : " + value.FlatNumber + " is " + code.ToString();
                    VisitorNotification visitorNotification = new VisitorNotification(ctx, value.HostMobile);
                    var result = visitorNotification.NotifyVisitor(strMessage, value.VisitorMobile);


                    resp = "{\"Response\":\"Ok\"}";
                }
                //Exception ex
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Log.log("api/Profile Failed to Add User : Property-" + validationError.PropertyName + "  Error- " + validationError.ErrorMessage + "  At " + DateTime.Now.ToString());
                        }
                    }
                    dbContextTransaction.Rollback();
                    resp = "{\"Response\":\"Fail\"}";
                }
                catch (Exception ex)
                {
                    Log.log("api/Profile Failed to Add User Error- " + ex.Message + "  At " + DateTime.Now.ToString());

                    dbContextTransaction.Rollback();
                    resp = "{\"Response\":\"Fail\"}";
                }
            }

            var response = Request.CreateResponse(HttpStatusCode.OK);

            response.Content = new StringContent(resp, System.Text.Encoding.UTF8, "application/json");
            return(response);
        }