public void Add()
        {
            //var val = smsEntity.AbpUsers.Select(x => x.Id == 1 && x.TenantId == 1).FirstOrDefault();
            var userName = from test in smsEntity.AbpUsers where test.Id == 1 select test.UserName.FirstOrDefault();

            StationaryRequest obj = new StationaryRequest();

            obj.UserId    = 1;
            obj.TenantId  = 1;
            obj.CreatedBy = userName.ToString();

            smsEntity.StationaryRequests.Add(obj);
            smsEntity.SaveChanges();
        }
        public string PostStationaryRequestDetails(int?requestId, List <Stationary_Request> stRequest)
        {
            if (requestId == null)
            {
                long userid   = stRequest[0].UserId;
                int? tenantid = stRequest[0].TenantId;
                var  username = (from user in smsEntity.AbpUsers where user.Id == userid && user.TenantId == tenantid select user.UserName).FirstOrDefault();

                //var user = smsEntity.AbpUsers.Select(x => x.Id == stRequest[0].UserId).SingleOrDefault();
                // var userName = smsEntity.AbpUsers.Where(a => a.Id == stRequest[0].UserId).Select(x => x.UserName).SingleOrDefault();
                //var userName = b.Countries.First(a => a.DOTWInternalID == citee.CountryCode).ID from test in smsEntity.AbpUsers where test.Id == stRequest.UserId && test.TenantId == stRequest.TenantId select test.UserName.FirstOrDefault();
                StationaryRequest stationaryRequest = new StationaryRequest();
                stationaryRequest.UserId      = stRequest[0].UserId;
                stationaryRequest.TenantId    = stRequest[0].TenantId;
                stationaryRequest.CreatedBy   = username;//userName.ToString();
                stationaryRequest.StatusId    = 1;
                stationaryRequest.IsActive    = 1;
                stationaryRequest.CreatedDate = DateTime.Now;
                smsEntity.StationaryRequests.Add(stationaryRequest);
                smsEntity.SaveChanges();

                //var reqId = from test in smsEntity.StationaryRequests where test.UserId == stRequest.UserId && test.TenantId == stRequest.TenantId && test.RequestId == stationaryRequest.RequestId select test.RequestId.va
                //var reqId = smsEntity.StationaryRequests.First(a => a.UserId == stRequest.UserId && a.TenantId == stRequest.TenantId).RequestId;
                var reqIds = (from req in smsEntity.StationaryRequests where req.UserId == userid && req.TenantId == tenantid orderby req.RequestId descending select req.RequestId).FirstOrDefault();
                //var reqId = smsEntity.StationaryRequests.Where(a => a.UserId == stRequest[0].UserId && a.TenantId == stRequest[0].TenantId)
                //      .OrderByDescending(a => a.RequestId)
                //   .Select(a => a.RequestId).FirstOrDefault();



                foreach (Stationary_Request obj in stRequest)
                {
                    //var particularId = (from part in smsEntity.SMS_Particulars where part.Item_Description == obj.ParticularDesc select part.Item_id).FirstOrDefault();
                    //var UnitId = (from unit in smsEntity.SMS_Units where unit.Unit_Description == obj.UnitDesc select unit.Unit_Id).FirstOrDefault();
                    StationaryRequestDetail stationaryRequestDetail = new StationaryRequestDetail();
                    stationaryRequestDetail.ParticularId = obj.Item_id;
                    stationaryRequestDetail.RequestId    = reqIds;
                    stationaryRequestDetail.UnitId       = obj.Unit_Id;
                    stationaryRequestDetail.Rate         = obj.Rate;
                    stationaryRequestDetail.Vat          = obj.Vat;
                    stationaryRequestDetail.VateRate     = obj.VateRate;
                    stationaryRequestDetail.FinalRate    = obj.FinalRate;
                    stationaryRequestDetail.Quantity     = obj.Quantity;
                    stationaryRequestDetail.Cost         = obj.Cost;
                    stationaryRequestDetail.Isactive     = true;
                    smsEntity.StationaryRequestDetails.Add(stationaryRequestDetail);
                    smsEntity.SaveChanges();
                }
            }

            else
            {
                foreach (Stationary_Request items in stRequest)
                {
                    if (items.Id.Contains('A'))
                    {
                        StationaryRequestDetail stationaryRequestDetail = new StationaryRequestDetail();
                        stationaryRequestDetail.ParticularId = items.Item_id;
                        stationaryRequestDetail.RequestId    = requestId;
                        stationaryRequestDetail.UnitId       = items.Unit_Id;
                        stationaryRequestDetail.Rate         = items.Rate;
                        stationaryRequestDetail.Vat          = items.Vat;
                        stationaryRequestDetail.VateRate     = items.VateRate;
                        stationaryRequestDetail.FinalRate    = items.FinalRate;
                        stationaryRequestDetail.Quantity     = items.Quantity;
                        stationaryRequestDetail.Cost         = items.Cost;
                        stationaryRequestDetail.Isactive     = true;
                        smsEntity.StationaryRequestDetails.Add(stationaryRequestDetail);
                        smsEntity.SaveChanges();
                    }
                    else
                    {
                        long id      = Convert.ToInt64(items.Id);
                        var  details = from detail in smsEntity.StationaryRequestDetails
                                       where detail.RequestId == requestId
                                       select detail;


                        foreach (StationaryRequestDetail stationaryRequestDetail in details)
                        {
                            if (stationaryRequestDetail.Id == id)
                            {
                                stationaryRequestDetail.ParticularId = items.Item_id;
                                stationaryRequestDetail.Id           = id;
                                stationaryRequestDetail.RequestId    = requestId;
                                stationaryRequestDetail.UnitId       = items.Unit_Id;
                                stationaryRequestDetail.Rate         = items.Rate;
                                stationaryRequestDetail.Vat          = items.Vat;
                                stationaryRequestDetail.VateRate     = items.VateRate;
                                stationaryRequestDetail.FinalRate    = items.FinalRate;
                                stationaryRequestDetail.Quantity     = items.Quantity;
                                stationaryRequestDetail.Cost         = items.Cost;
                                stationaryRequestDetail.Isactive     = true;
                                smsEntity.SaveChanges();
                            }
                        }
                    }
                }
            }


            return("");
        }